[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Java versions we wish to support

while doing the exploration of running tests on Java 11 I found out
that from that version onward Java EE APIs are no longer distributed
with Java[1].

I think this makes a difference in how we declare the dependencies. So
for instance JAXB API is no longer available, we need to add it and we
have two options:

 1. declare in the <dependencies> directly

If we declare it in the <dependencies> directly, then some clients
might need to exclude that dependency: for instance application
servers might bundle a version of JAXB API and having another version
might lead to issues.

 2. declare in the <dependencies> of the Java 11+ <profile>

In this case Camel is OK when build/tested on Java 11+, but client
might get a ClassNotFoundException on Java 11+. This is based on my
understanding that Maven profiles in dependencies are considered only
at build time of the dependency, not when that dependency is used.

Am I wrong about this? What can we do? Declare that from some version
of Camel (say 3.0.0) we only support Java 11?


[1] http://openjdk.java.net/jeps/320
Zoran Regvart