Java 9: no long-term support and twice-yearly JDK releases
By Jamie Mercer
It has been a long time coming, but the release of Java 9 finally pleased the community when it was officially released in September.
Additionally, the adoption of Java EE by Eclipse bares interest in the community, as the plans to develop have been outlined by Oracle.
Java EE adopted by Eclipse
After reporting last month that Oracle was no longer interested in supporting or developing Java EE, it has now been adopted by Eclipse.
The Eclipse Foundation is planning to set a new standard of enterprise Java, and potentially changing its name – something Oracle recommended in its proposal.
In its proposal, Oracle recalled Eclipse’s experiences with Java EE, and associated technologies as to why it transferred Java EE to Eclipse. Eclipse created Eclipse IDE and managed several other Java technologies.
Oracle will continue to support current Java EE licenses, together with those moving to Java EE 8. Additionally, it will continue to support the WebLogic Server Java application server that was gained from BEA Systems 10 years ago. Java EE 8 will be maintained in a future upgrade to WebLogic Server.
Read more about what Oracle has outlined in its proposal for Java EE’s adoption.
Java 9: twice-yearly JDK releases are coming
According to Oracle, they will speed up the releases of standard Java, with a new release JDK (Java Development Kit) released every six months, and a long-term support version that will be updated every three years.
Up until recently, Oracle has delivered major releases of Java approximately every two years, anchored by a prime feature. However, that anchor-feature-driven approach is what initially caused delays to JDK 9.
Oracle will also create OpenJDK binaries of this twice-a-year update for major versions of Linux, macOS, and 64-bit Windows. However, it will not create such binaries for additional operating systems from Oracle’s code.
This new approach for Java releases reflects the release strategies for the likes of Red Hat, Fedora, and Ubuntu versions of Linux, where there is a fast release schedule for those content with upgrades twice a year, and a slow release for those who strive for steadiness for several years.
Read more about how Oracle will continue to use the Java Enhancement Proposal process for new features and other significant changes.
Java 9 will not receive long-term support
Java 9 will not be entitled to long-term maintenance. The latest version of Java is not the first long-term support release on which the first wave of twice-a-year ‘feature’ releases is to be based but instead is the first ‘feature’ release, with Java 8 as the base.
Regardless, Oracle states that Java 9’s status of being released twice-a-year does not necessarily negate its value. They consider developers will want it for the new competencies it brings, regardless of its release frequency.
On the other hand, enterprises that are running applications in products may want to consider waiting for the future long-term release. This will allow Oracle and authors of third-party Java libraries and frameworks time to take out any bugs in the major new functionality.
Read more about how Java 9 will expect to run without the long-term support.
What’s new in JUnit 5 for Java testing?
JUnit testing framework for Java has moved to version five. Compared to their previous releases, JUnit 5 features modules from numerous subprojects, including:
- Platform: which will launch the testing of frameworks on the JVM and define the TestEngine API by the use of command line.
- Jupiter: for the use of programming and extension models for writing tests and extensions and then, with the help of plugins, building them within JUnit, Gradle, or Maven.
- Vintage: for the purpose of running JUnit 3 and 4 tests on the JUnit 5 platform.
Though JUnit 5 requires Java 8 or higher versions at runtime, developers are still able to test the code of previous versions of the Java Development Kit. However, JUnit 5 artifacts do not ship with compiled module descriptors for JDK 9, though there are accommodations for JDK 9.
Read more about what else is new for JUnit 5.
Microsoft shows VMware and Oracle how to get real about open source
Some of the industry’s largest software leaders have recently started to pay attention to open source development, despite years of typically ignoring the practice.
Oracle recently joined the Cloud Native Computing Foundation, mostly to help guide the direction of Kubernetes, given that “cloud-native computing technologies such as Kubernetes, Prometheus, gRPC, and OpenTracing are vital parts of both our own and our customers’ development toolchains,” according to Mark Cavage, the Vice President of Oracle.
Open source is built by developers, not committees or boards, typically without the involvement of sponsorship or corporate cash.
Therefore, Oracle’s decision to set its sights on a foundation governing Java EE is interesting; though Java EE is already open source, it suffers from being controlled by one company: Oracle.
Oracle’s acknowledgement that they believe a more open process, not necessarily dependent on a single vendor as platform lead, will encourage greater participation and innovation and will be far more beneficial to the community.
Read more about how Oracle is following in Microsoft’s footsteps and how they understand the importance of open APIs.