I think it would be beneficial to provide not only a JDK 11 in the ecosystem-image, but also newer LTS versions like 17 and later 21. In addition, there should be a possibility to configure the active JDK version from outside. This is beneficial in contexts where images based on JFrog's ecosystem have to be used as-is to analyse JDK 17+ applications. See for example jfrog/jfrog-cli/issues/1694.
At the moment, the ecosystem-image provides the JDK 11 from Eclipse Temurin. Java's current version is 20, the next LTS version is 21, which is due in September 2023.
Eclipse Temurin goes EOL in October 2024. The official Java 11 is almost five years old now and it is likely that we will see more and more applications and libraries that require more recent JDKs.
A major framework for Java applications is Spring. The latest version of the Spring Framework is Version 6, which does not support JDK 11 anymore. Spring 5.x goes EOL in the end of 2024.. For Sprint Boot, the schedule is a little more tight: Spring Boot 3, which came out in November'22 also does not support JDK 11 anymore and Spring Boot 2.x goes EOL in November 2023.
Hence, now is a good time to add support for JDK 17.
Since the ecosystem image already uses sdkman to install the SDK, it should be easy to just add a JDK 17. If necessary/desired, one could add a possibility to switch the JDK version. The standard behaviour could still be to use JDK 11.
Not only would this enable the usage of jfrog-ecosystem-based images in setups like the one described in jfrog/jfrog-cli/issues/1694 and foster the transition of Java applications and libraries to more recent JDK versions -- it would also buy time for those who have to stick with JDK 11.
I think it would be beneficial to provide not only a JDK 11 in the ecosystem-image, but also newer LTS versions like 17 and later 21. In addition, there should be a possibility to configure the active JDK version from outside. This is beneficial in contexts where images based on JFrog's ecosystem have to be used as-is to analyse JDK 17+ applications. See for example jfrog/jfrog-cli/issues/1694.
At the moment, the ecosystem-image provides the JDK 11 from Eclipse Temurin. Java's current version is 20, the next LTS version is 21, which is due in September 2023. Eclipse Temurin goes EOL in October 2024. The official Java 11 is almost five years old now and it is likely that we will see more and more applications and libraries that require more recent JDKs.
A major framework for Java applications is Spring. The latest version of the Spring Framework is Version 6, which does not support JDK 11 anymore. Spring 5.x goes EOL in the end of 2024.. For Sprint Boot, the schedule is a little more tight: Spring Boot 3, which came out in November'22 also does not support JDK 11 anymore and Spring Boot 2.x goes EOL in November 2023.
Hence, now is a good time to add support for JDK 17.
Since the ecosystem image already uses sdkman to install the SDK, it should be easy to just add a JDK 17. If necessary/desired, one could add a possibility to switch the JDK version. The standard behaviour could still be to use JDK 11. Not only would this enable the usage of jfrog-ecosystem-based images in setups like the one described in jfrog/jfrog-cli/issues/1694 and foster the transition of Java applications and libraries to more recent JDK versions -- it would also buy time for those who have to stick with JDK 11.