He'll probably need to do that in the bootclasspath <sigh/> At one time I actually believed that javax.* packages would always be "extra", meaning that 1) no java.* class would depend on a javax.* class and 2) therefore you could safely put all the javax.* classes into one or more jar-files in the ext/ directory. And then ... java.security.cert.X509CertSelector turned out to have a reference to javax.security.auth.x500.X500Principal. java.awt refers to all manner of stuff (and vice versa). Total dependency spaghetti.
No wonder project jigsaw is taking so long ... > Can you manually set the class path in your bundle to pick up your > classes first? > > I know that's a bit of a hack around, but if it works at least you can > continue on... > > Cheers, > Jamie > > On Tue, Apr 21, 2015 at 11:13 AM, David Bosschaert > <[email protected]> wrote: >> I guess what I'm looking for is a bundle that I can install in an OSGi >> framework without having to change any startup properties etc... >> >> On 21 April 2015 at 14:39, Jamie G. <[email protected]> wrote: >>> Great question. >>> >>> Can you override/replace it via the karaf etc/jre.properties file? >>> >>> Cheers, >>> Jamie >>> >>> On Tue, Apr 21, 2015 at 10:53 AM, David Bosschaert >>> <[email protected]> wrote: >>>> Hi all, >>>> >>>> Apologies for posting to the Karaf list as this is not really a Karaf >>>> issue, but I this list may contain people that might have come across >>>> this issue as well. >>>> >>>> I have some code that runs in OSGi that uses >>>> javax.activation.DataHandler. As this is javax... you should be able >>>> to provide your own bundle providing these classes. So I have a bundle >>>> that provides an alternative javax.activation.DataHandler. Now it >>>> turns out that this class has a dependency on >>>> java.awt.datatransfer.DataFlavor, a java.awt class! The DataFlavor >>>> code is kicked in from DataHandler, but then DataFlavor tries to load >>>> some classes too, in my case it tries to load DataHandler again. The >>>> code in DataFlavor tries to load classes from the System Classloader >>>> first, so it finds the javax.activation.DataHandler in the JRE and >>>> loads that -> boom LinkageError. >>>> >>>> I was wondering whether there are any 'fixed' versions of >>>> javax.activation that don't expose this behaviour and work properly in >>>> a modular environment like OSGi. >>>> >>>> Many thanks, >>>> >>>> David >
