One of the most maddening aspects of being a software developer, and specifically a Java software developer, is the constant task of ensuring your application platform is up to date so that your application is not exposed to security or other defect vulnerabilities. It is challenging enough to ensure your code meets the customer requirements and is maintainable by different resources by ever-decreasing timelines over the course of its life.