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]