You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Cees Bos <cb...@opentext.com> on 2018/11/13 13:01:53 UTC

Some jars in TomEE 8 SNAPSHOT are not Java 11 compatible

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





Re: Some jars in TomEE 8 SNAPSHOT are not Java 11 compatible

Posted by Romain Manni-Bucau <rm...@gmail.com>.
I'm running cxf under java 11 since some time now so it can be important in
that work to split the statements between "it runs on java11" and "it uses
java11 natively" - which is not done by any lib today AFAIK.

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mar. 13 nov. 2018 à 14:22, Jean-Louis Monteiro <jl...@tomitribe.com>
a écrit :

> Hi,
>
> Thank you very much for the detailed list.
>
> I have upgraded yesterday and today XBean and OWB so they are Java 11
> compatible.
> I'll do the Jaxb upgrade in few minutes.
>
> BVal - I'll chat with Romain or Mark. They are both committers.
>
> ECJ - this is a Tomcat dependency, so I'd check first with Tomcat community
> CXF - also need to check with the community
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Tue, Nov 13, 2018 at 2:02 PM Cees Bos <cb...@opentext.com> wrote:
>
> > 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
> >
> >
> >
> >
> >
>

Re: Some jars in TomEE 8 SNAPSHOT are not Java 11 compatible

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
Hi,

Thank you very much for the detailed list.

I have upgraded yesterday and today XBean and OWB so they are Java 11
compatible.
I'll do the Jaxb upgrade in few minutes.

BVal - I'll chat with Romain or Mark. They are both committers.

ECJ - this is a Tomcat dependency, so I'd check first with Tomcat community
CXF - also need to check with the community

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Tue, Nov 13, 2018 at 2:02 PM Cees Bos <cb...@opentext.com> wrote:

> 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
>
>
>
>
>