As far as I tested it there is only one major issue for GeoServer regarding JDK >= 12.
2021-07-01 07:44:07,433 ERROR [org.geoserver.ows] (default task-32) : java.lang.IllegalArgumentException: Unsupported class file major version 60
at deployment.geoserver.war//org.springframework.asm.ClassReader.<init>(ClassReader.java:184)
at deployment.geoserver.war//org.springframework.asm.ClassReader.<init>(ClassReader.java:166)
at deployment.geoserver.war//org.springframework.asm.ClassReader.<init>(ClassReader.java:152)
at deployment.geoserver.war//org.springframework.asm.ClassReader.<init>(ClassReader.java:273)
at deployment.geoserver.war//org.springframework.cglib.proxy.BridgeMethodResolver.resolveAll(BridgeMethodResolver.java:68)
at deployment.geoserver.war//org.springframework.cglib.proxy.Enhancer.emitMethods(Enhancer.java:1241)
at deployment.geoserver.war//org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:726)
at deployment.geoserver.war//org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at deployment.geoserver.war//org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:358)
at deployment.geoserver.war//org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:585)
at deployment.geoserver.war//org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:110)
at deployment.geoserver.war//org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:108)
at deployment.geoserver.war//org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at deployment.geoserver.war//org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
at deployment.geoserver.war//org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
at deployment.geoserver.war//org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:134)
at deployment.geoserver.war//org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:319)
at deployment.geoserver.war//org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:572)
at deployment.geoserver.war//org.springframework.cglib.proxy.Enhancer.create(Enhancer.java:406)
at deployment.geoserver.war//org.geoserver.wfs.GetFeature.run(GetFeature.java:832)
at deployment.geoserver.war//org.geoserver.wfs.DefaultWebFeatureService.getFeature(DefaultWebFeatureService.java:105)
This problem occurs due to the use of SpringFramework version 5.1.20.RELEASE. Here the opcode enhancer does only recognize JDK til version 12. SpringFramework 5.3.x is able to handle opcode enhancing til java 16 and higher.
So when do you intend to upgrade? GeoServer is the last app in stack that would hinder us to go with JDK 16 or higher.
Regards Tobias
|