Well, there you go then. You are importing the org.apache.felix.framework.* packages. This way the framework gets confused and is using the wrong classloader (I'd argue that this is something we should fix in felix but its more a feature then a bug).
You did say that you embed the felix.jar inside your bundle. If that is the case then just put it on the bundle classpath and remove the imports for org.apache.felix.* from the bundle and that should make it work. regards, Karl On Thu, Aug 27, 2009 at 11:00 AM, Andrea Turbati<[email protected]> wrote: > I'm using Felix 1.8.0. > > The Manifest of the bundle that embeds Felix is > > > Manifest-Version: 1.0 > Bundle-Activator: it.uniroma2.art.stontoling.bundle.STOntoLingBundle > Bundle-ClassPath: ., > lib/LinguisticWatermark.jar, > lib/OntoLing_Core.jar, > Import-Package: > com.sun.org.apache.xerces.internal.dom, > com.sun.org.apache.xml.internal.serialize, > javax.swing, > org.apache.commons.collections, > org.apache.commons.collections.iterators, > org.apache.commons.logging, > org.apache.felix.framework, > org.apache.felix.framework.cache, > org.apache.felix.framework.util, > org.apache.felix.main, > org.apache.log4j, > org.apache.log4j.net, > org.apache.xerces.dom, > org.osgi.framework, > org.osgi.util.tracker, > ... > > > So I'm import the package that the second instances of Felix needs to work, > and all of these package are exported by the first instance of Felix > > regards, > > Andrea > > > > Karl Pauls ha scritto: >> >> What version of felix are you using? >> >> In case you are not using the current trunk can you try with it first >> (there have been some fixes that might be related)... >> >> Furthermore, are you sure the bundle that embeds felix is not >> importing any felix (i.e., org.apache.felix) packages? Can you maybe >> show us the manifest of the bundle that embeds felix? >> >> regards, >> >> Karl >> >> On Thu, Aug 27, 2009 at 10:25 AM, Andrea >> Turbati<[email protected]> wrote: >> >>> >>> Hi, >>> I'm trying to lunch a second Felix instance inside a Felix bundle, or to >>> be >>> more precise the second instance of felix is inside a jar which it's >>> inside >>> a bundle. So this is the situation: >>> I have the main program (MainProgram) which Felix is embedded. This >>> MainProgram find and install various bundle and inside one of this >>> (ParticularBundle) there are two jars, one (SpecialJar.jar) that starts >>> another instance of Felix and another "normal" jar (NormalJar.jar). >>> Naturally the Manifest of the ParticularBundle contains the following >>> lines: >>> >>> Bundle-ClassPath: ., >>> lib/SpecialJar.jar, >>> lib/NormalJar.jar >>> >>> The second instance of Felix seems to start fine, but for some reasons >>> it's >>> able to export correctly (using Constants.FRAMEWORK_SYSTEMPACKAGES) only >>> the >>> packages which were imported with the manifest of ParticularBundle. This >>> means that in ParticularBundle I can use all the classes that are >>> contained >>> in the two jars (SpecialJar.jar and NormalJar.jar), but all the bundle >>> that >>> are discovered and installed by the instance of Felix in SpecialJar.jar >>> are >>> able to use only the package exported by the first instance of Felix, >>> imported by ParticularBundle and then exported by the second instance of >>> Felix, but when they try to use a class of a package that belongs to >>> SpecialJar.jar or NormalJar.jar and is exported by the second isntance of >>> Felix they throw a java.lang.NoClassDefFoundError: my.package.MyClass >>> (this >>> should mean that the bundle is importing the package and that the socond >>> instance of Felix it's exporting it). >>> >>> I think that it is a classloader problem, but I really don't know how to >>> solve it. >>> >>> Regards, >>> >>> Andrea Turbati >>> >>> -- >>> >>> ------------------------------------------------- >>> >>> Dott. Andrea Turbati >>> >>> AI Research Group PhD student, >>> >>> Dept. of Computer Science, Systems and Production >>> >>> University of Roma, Tor Vergata >>> >>> Via del Politecnico 1 00133 ROMA (ITALY) >>> >>> tel: +39 06 7259 7332 (lab) >>> >>> e_mail: [email protected] >>> >>> home page: http://art.uniroma2.it/turbati/ >>> >>> -------------------------------------------------- >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >> >> >> >> > > > -- > > ------------------------------------------------- > > Dott. Andrea Turbati > > AI Research Group PhD student, > > Dept. of Computer Science, Systems and Production > > University of Roma, Tor Vergata > > Via del Politecnico 1 00133 ROMA (ITALY) > > tel: +39 06 7259 7332 (lab) > > e_mail: [email protected] > > home page: http://art.uniroma2.it/turbati/ > > -------------------------------------------------- > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Karl Pauls [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

