Hi all,
We are doing a Java 11 validation for our product.
We validate all our own code, Third party jars we use and TomEE jars.
We validate it with jdeprscan, jdeps (both tools from the JDK) and we decompile
the code and grep for known issue patterns.
We found an issue in Openwebbean 2.0.7, which is fixed in 2.0.8. That is
released yesterday and updated for TomEE 8, that is great.
Problems we found more:
* 2 bval jars in bval-jsr-2.0.1-20181030.140436-1.jar and
bval-jsr-2.0.1-SNAPSHOT.jar
* bval uses javafx from an abstract class. Javafx is not part of Java 11
anymore. But it looks like it is not used by default. So at first glace this
does not look like a problem
* 2 jars seems overkill, so 1 can be removed I guess
* ecj-4.7.3a.jar There are some checks with java.version which only deal
with Java 9 and 10, but 11 and higher fail.
See org.eclipse.jdt.internal.compiler.impl.CompilerOptions (methods
versionFromJdkLevel, releaseToJDKLevel, versionToJdkLevel)
Eclipse JDT code has done fixes for Java 11, see
<https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=aecd2d1f6ce62d2ae12bcc68e57f73ab4cf27583>
https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java?id=aecd2d1f6ce62d2ae12bcc68e57f73ab4cf27583
So the latest version support Java 11 as well.
* CXF 3.2.7 is not yet Java 11 ready.
*
https://github.com/apache/cxf/commit/a3295e61bcf8c00c13a79707841a58131fd9c97d#diff-b3f6b10d6fc20e1c16fbaef5d67ba228
Fixed Java 11 issue, see https://issues.apache.org/jira/browse/CXF-7741
This will be part of 3.3.0, which is not released yet.
* Jaxb Impl 2.3.0 class
com.sun.xml.bind.v2.runtime.reflect.opt.Injector.java is using
Unsafe.defineClass which cannot be used anymore in Java 11, see
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8193033
In Jaxb impl 2.3.1 the Injector class is gone. So upgrade to 2.3.1 to prevent
issues with Java 11 here.
* OpenEJB client and core use some Corba classes which are not part of Java
anymore. That can give issues for some users, as these classes are not
available in the runtime anymore. For us it is no problem.
Hopefully this can help to make TomEE 8 ready for Java 11 usage for all users.
With kind regards,
Cees