Hi Jean-Baptiste, Yes, I did overlook that mail and I think that this is really good news.
As this may require modifications in the interface if it uses a service loader to find its implementation, I didn't want to propose that to the mailing list. The way I proposed for Karaf 4.2.8 is an easy way to have the same JAXB version with Java 11 and Java 8 (and it works the same in all versions), but running these interface within the OSGi framework is of course the much better way to do this. Best regards Stephan -----Original Message----- From: Jean-Baptiste Onofre <[email protected]> Sent: Mittwoch, 29. April 2020 08:03 To: [email protected] Subject: Re: Other version of javax.xml.bind when running with Java 8 and 11 Hi, You maybe missed the message related to spec on the mailing list. The proposal is: 1. Remove lib/jdk9plus folder 2. Remove reference to spec in etc/jre.properties 3. Provide specs feature It will work with both JDK8 and 11 and "force" usage of specs bundle. It’s actually a cleaner way to handle spec in Karaf. I’m working on those features (as part of framework features repo). It will be included in Karaf 4.3.0.RC2 and 4.2.9. Regards JB > Le 29 avr. 2020 à 07:45, Siano, Stephan <[email protected]> a écrit : > > Hi, > > till Java 8 JAXB was part of the JDK, the version included in JDK8 is 2.2.8. > Starting with Java 9, JAXB was removed from the JRE and has to be added as a > separate library (the version that comes with Karaf 4.2.8 is 2.3.2). > > I am currently working on the same problem, because we are trying to run some > Jackson-xml component which requires JAXB 2.3.0 or later. My tests are not > entirely finished, but in theory (and my tests justify this so far) the > following approach should work: > > 1. copy the following files from lib/jdk9plus to lib/endorsed: > istack-commons-runtime-3.0.10.jar, > jakarta.xml.bind-api-2.3.2.jar, > jaxb-runtime-2.3.2.jar, > txw2-2.3.2.jar > 2. edit the file etc/jre.properties. There is a section starting with > jre-1.8. In this section you have some exports for javax.xml.bind with > version 2.2.8. Change that version to 2.3.0 (as in the jre-9 section) > > The first step actually replaces the JAXB runtime in the JDK with the one > from the external library with the JDK 8 endorsed mechanism. The second step > changes the version of the exported JAXB packages to a newer version (which > makes your first change known to the OSGi framework). > > Best regards > Stephan > > -----Original Message----- > From: Łukasz Dywicki <[email protected]> > Sent: Dienstag, 28. April 2020 12:06 > To: [email protected]; lechlukasz <[email protected]> > Subject: Re: Other version of javax.xml.bind when running with Java 8 and 11 > > Cześć Łukasz, > Technically speaking JAXB as a standard is moving its versions so > version shipped with Java 8 and Java 11 will be different. As far I > remember the overall plan for future releases is to remove JAXB from > official distribution and let programmers manage it as external dependency. > You can install RI within framework at the cost of additional megabyte > of your distribution. > > Best regards, > Łukasz > -- > Code-House > http://code-house.org > > > On 28.04.2020 09:50, lechlukasz wrote: >> Hello, >> >> Is there a technical reason for org.apache.felix.framework providing other >> version of javax.xml.bind package when running with Java 8 (2.2.8) and Java >> 11 (2.3.0)? >> >> Best regards, >> Lukasz Lech >> >> >> >> >> -- >> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html >>
