It sounded like you could make it work with a compiler config change (not a
code change) in Java 11 - is that correct?
If so, can't you just provide that config only when running the build on
Java 11?
Something like:
<profiles>
<profile>
<id>java-11</id>
<activation>
<jdk>11</jdk>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>--add-modules</arg>
<arg>jdk.internal.loader</arg>
</compilerArgs>
</configuration>
</plugin>
</profile>
</profiles>
(totally not tested...)
Does that make sense? The failover artifacts themselves are simply deployed
and run as part of a test suite, so we don't ship them as part of TomEE
itself. Its desirable to run the itests on both Java 8 and 11 to see if
there are any issues.
Jon
On Mon, Mar 4, 2019 at 1:27 PM Otávio Gonçalves de Santana <
[email protected]> wrote:
> Hey JonG.
> Could you explain more about it?
> Do you mean, create a profile to skip this project such as failover.
>
> I’ve checked some options such as redesign the classpath and create wrapper
> the BasicURLClass. Both with a huge change of code.
>
> <profile>
> <id>skip-java-11</id>
> <modules>
> <module>failover</module>
> </modules>
> </profile>
>
>
>
> On Fri, Mar 1, 2019 at 5:19 PM Jonathan Gallimore <
> [email protected]> wrote:
>
> > If that's just for itests, I'd be inclined to try creating a profile to
> add
> > that where the Java version is >8.
> >
> > What do you think?
> >
> > Jon
> >
> > On Fri, Mar 1, 2019 at 6:16 PM Otávio Gonçalves de Santana <
> > [email protected]> wrote:
> >
> > > Hey guys
> > >
> > > I'm working to make the tests compatible with both Java 8 and Java 11
> > > version.
> > >
> > >
> > > Right now, I'm at the failover
> > > <https://github.com/apache/tomee/tree/master/itests/failover> project
> > that
> > > has this issue:
> > >
> > > java.lang.IllegalAccessException: class
> > > org.apache.openejb.loader.BasicURLClassPath cannot access class
> > > jdk.internal.loader.URLClassPath (in module java.base) because module
> > > java.base does not export jdk.internal.loader to unnamed module
> > > @4c6e276e
> > > at
> > >
> >
> java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
> > >
> > >
> > > There are two ways to solve it;
> > >
> > > - the first one is using the filemodule-info.java
> > > - Using the add-module argument at maven.
> > >
> > >
> > > <plugin>
> > > <artifactId>maven-compiler-plugin</artifactId>
> > > <configuration>
> > > <compilerArgs>
> > > <arg>--add-modules</arg>
> > > <arg>dk.internal.loader</arg>
> > > </compilerArgs>
> > > </configuration></plugin>
> > >
> > >
> > > However, both make unavailable the situation to run Java 8.
> > >
> > > I still working to solve it.
> > >
> > > On Fri, Mar 1, 2019 at 2:11 PM Jonathan Gallimore <
> > > [email protected]> wrote:
> > >
> > > > Killed of the builds and forced a new one.
> > > > https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8/builds/1048
> > > >
> > > > Jon
> > > >
> > > > On Fri, Mar 1, 2019 at 4:28 PM j4fm <[email protected]>
> wrote:
> > > >
> > > > > Ah yeah that makes sense.
> > > > >
> > > > > It won't let me stop the current stuck build. Would you be able
> to?
> > > > >
> > > > > From the logs it looks like it succeeds up until the point it's
> > > frozen...
> > > > > I'm not sure what's up with it. Have you seen it freeze like this
> > > > before?
> > > > > Maybe it's an issue with the CI agent instead?
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Sent from:
> > > > > http://tomee-openejb.979440.n4.nabble.com/TomEE-Dev-f982480.html
> > > > >
> > > >
> > >
> >
>