Hi Richard, Thanks for the information, I will use the org.osgi.framework.system.packages.extra property.
regards; /Pierre On Fri, Aug 3, 2012 at 4:40 PM, Richard S. Hall <[email protected]>wrote: > On 8/3/12 09:18 , Pierre De Rop wrote: > >> Hi everyone; >> >> I'm using Felix framework 4.0.2 and jdk 1.6.0-OpenSCG-Build-24, and I have >> a problem with a legacy bundle from our product, which tries to load the >> following JDK 1.6 packages using DynamicImport-Package: *: >> >> org.w3c.dom.traversal >> org.w3c.dom.ranges >> >> (I know it is a bad practice to use such dynamic import but I can't modify >> this old bundle ...) >> >> So, everything was working fine until fwk 3.2.2, but since fwk 4.0.0, I >> then have the following CNF: >> >> java.lang.**ClassNotFoundException: *** Package 'org.w3c.dom.traversal' >> is >> not imported by bundle com.alcatel.as.legacybundle [67], nor is there any >> bundle that exports package 'org.w3c.dom.traversal'. However, the class >> 'org.w3c.dom.traversal.**DocumentTraversal' is available from the system >> class loader. There are two fixes: 1) Add package 'org.w3c.dom.traversal' >> to the 'org.osgi.framework.system.**packages.extra' property and modify >> bundle com.alcatel.as.legacybundle [67] to import this package; this >> causes >> the system bundle to export class path packages. 2) Add package >> 'org.w3c.dom.traversal' to the 'org.osgi.framework.**bootdelegation' >> property; a library or VM bug can cause classes to be loaded by the wrong >> class loader. The first approach is preferable for preserving modularity. >> *** >> >> So, after investigation, it seems that these two packages are not >> reexported anymore by system bundle since fwk 4.0.0 version; and I wonder >> if this is intentional, or may be it's a regression ? >> >> -> see default.properties from fwk 3.2.2: this file contains the list of >> reexported jdk packages, including my two packages: >> >> jre-1.6=, \ >> ... >> org.w3c.dom.ranges; \ >> org.w3c.dom.stylesheets; \ >> org.w3c.dom.traversal; \ >> ... >> >> But since fwk 4.0.0, the two packages are not present anymore; however the >> org.w3c.dom.traversal package is yet referenced in some "uses" clauses: >> >> org.w3c.dom.ls;uses:="org.w3c.**dom,org.w3c.dom.events,org.** >> w3c.dom.traversal";version="0.**0.0.1_006_JavaSE", >> \ >> >> So; should I create a jira issue, or are these two packages considered as >> internal jdk packages (not to be reexported) ? >> > > It is intentional, they shouldn't be there since they are not part of the > official JRE API. You could open an issue to remove them from the "uses" > clauses, but those shouldn't cause any issue since they'll just be ignored. > > If you need access to those packages, just modify the > org.osgi.framework.system.**packages.extra configuration property to > include them in conf/config.properties. > > -> richard > > > >> thanks, and kind regards; >> /pierre >> >> >
