On 3 Aug 2012, at 14: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;
^ note you shouldn't need to modify your legacy bundle, adding the package(s) to org.osgi.framework.system.packages.extra should be enough to satisfy the existing DynamicImport-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) ? > > thanks, and kind regards; > /pierre
