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