This is a reminder when I tried to support Java 11 because the Web service I was developing, operating and maintaining was running on Java 8.
I was shocked to read the following announcement around February 2018, when the web service was released safely and I started to feel relieved. The life of the environment of the released Web service is approaching. From around spring, I started to work on it from around summer while watching the Java area and collecting information.
Since it is a service that has been in operation for about a year, the corresponding service was configured as follows as the development environment at that time. Since each tool was updated while watching the timing, it was in a relatively new state except for the major version.
--Application - Java : OpenJDK8 - Build Tool : Gradle 4.8 - Application Framework : Spring Boot 1.5.13.RELEASE - Test Framework : JUnit 4.12
It consisted of the latest version or stable version of each tool around mid-November 2018.
--Application - Java : OpenJDK11(11.0.1) - Build Tool : Gradle 5.0RC1 - Application Framework : Spring Boot 2.1.0.RELEASE - Test Framework : JUnit 5.3.1
Java 11 support was implemented in the following flow.
--February 2018 I'm stunned by the change in Java's support lifecycle (I hadn't seen it for a while) --July 2018 Decided to update to OpenJDK11 --August 2018 OpenJDK10, updated to Spring Boot 2.0 and waited --September 2018 OpenJDK11 EarlyRelease, Spring Boot 2.1.0. Updated to Milestone and waited --October 2018 OpenJDK11 GA, Spring Boot 2.1.0. Updated to RELEASE for full-scale support --Early November 2018 Many tests * The most difficult time. Changed test code from JUnit 4 to JUnit 5 at this time --Mid November 2018 Released to commercial service environment
Since the official release of the tool in October 2018, it has been fluttering due to bug support and test code changes, but since it was updated by wait-and-see in advance, no major problems occurred. I wonder if it was good to be able to release it as a commercial service within a period of less than a month from the official release.
Due to the urgent response, the following remained as issues, but we will respond sequentially from December.
--The RC version was used due to the delay in the release of Gradle 5.0 for Java 11 (initially expected in early November). --Insufficient test code optimization as JUnit 5 --Failed to adapt to new and useful features adopted since JDK9
It was fluttering, but it was safe to say that it was in time for the end of support for JDK8 in January 2019, and it was good to be able to move to a relatively latest tool. With this, I was able to extend my life until the release of Java 12 in March 2019, so I am thinking about preparing for Java 12 next time.
Recommended Posts