We've tried to upgrade to karaf 4.2.3/4 and have hit a problem.
I don't believe we explicitly use org.glassfish.jaxb ourselves, but karaf has a
dependency on it. Karaf 4.2.3 updated this dependency to 2.3.2, and that's a
java 9 module.
So with a fresh karaf 4.2.4, if you do:
bundle:install -s 'wrap:mvn:org.glassfish.jaxb/txw2/2.3.2'
you get:
java.lang.ArrayIndexOutOfBoundsException: 19
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
at
org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.java:83)
This seems to be the symptom of "incorrect class version".
We run on java 8 at the moment, but karaf is intended to support java 8 as far
as I understand it.
So is this an issue with karaf, or is there a dependency we need to update?
Thanks.