We have worked our Felix based app so that it runs on JDK11 - took a bit of
tinkering, but there wasn't anything in core code we had to change.
We did need to load the following bundles separately to replace missing classes:
jre-1.8_extra_bundles=
jre-9_extra_bundles=${j9_replacement_packages}
jre-10_extra_bundles=${j9_replacement_packages}
jre-11_extra_bundles=${j9_replacement_packages}
j9_replacement_packages = \
"${vtmp.bundle.root}/lib/ext/javax.activation.jar" \
"${vtmp.bundle.root}/lib/ext/jaxb-api.jar" \
"${vtmp.bundle.root}/lib/ext/javax.annotation-api.jar"
You also need to remove the relevant references from the JRE classpath
(javax.activation etc) for J9+ since these will now be resolved by the extra
bundles. As can be seen, on jre1.8 there are no extra bundles needed.
You also then need to be sure to load these bundles as part of your
initialisation
felix.auto.install.1=\
...
${jre_extra_bundles}
...
And finally, you need to make sure you have you java modules set right for
program launch e.g.
set J9_OPTIONS=--add-opens java.base/java.lang=ALL-UNNAMED --add-opens
java.base/java.net=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
"%JAVA_HOME%\bin\java" % JVM_OPTS% %J9_OPTIONS% -D
(we have conditional code which only sets J9_OPTIONS for J9+)
-Rob
-----Original Message-----
From: Chuck Davis <[email protected]>
Sent: 17 February 2019 23:39
To: [email protected]
Subject: Re: Felix on jdk11
Has there been any discussion among developers regarding referenced subject?
I'm only subscribed to the users list.
I tried to run 6.0.2 on Linux (which has only jdk11 installed) and it's asking
for classes no longer existing in jdk11.
Thanks if anybody knows the time-frame for when Felix is targeted to run on
jdk11.