Hi guys,
it seems like I am having the same problem when trying to use the SWING
library.
I have got the following list of libraries exported using
system.packages.extra (I made the list shorter for brevity):
*org.osgi.framework.system.packages.extra=\
javax.sound.sampled.spi, \
javax.sql, \
javax.sql.rowset, \
javax.sql.rowset.serial, \
javax.sql.rowset.spi, \
javax.swing, \
javax.swing.border, \
javax.swing.colorchooser, \
javax.swing.event, \
javax.swing.filechooser, \
javax.swing.plaf, \
javax.swing.plaf.basic, \
javax.swing.plaf.metal, \
javax.swing.plaf.multi, \
javax.swing.plaf.synth, \
javax.swing.table, \
javax.swing.text, \
javax.swing.text.html, \
javax.swing.text.html.parser, \
javax.swing.text.rtf, \
javax.swing.tree, \
javax.swing.undo, \
.....
org.xml.sax.helpers*
and also have the parent bundle for the framework defined as Karl suggested:
*org.osgi.framework.bundle.parent=framework*
but when I try to run my program, which tries to use a JApplet, I get the
following error msg:
Exception in thread "Thread-4" java.lang.NoClassDefFoundError:
javax/swing/undo/
UndoableEditSupport
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(Mod
uleImpl.java:1787)
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
(ModuleImpl.java:682)
at
org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
uleImpl.java:1650)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(Mod
uleImpl.java:1787)
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
(ModuleImpl.java:682)
at
org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
uleImpl.java:1650)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl
.java:598)
at
org.apache.felix.framework.searchpolicy.R4Wire.getClass(R4Wire.java:1
08)
at
org.apache.felix.framework.ModuleImpl.searchImports(ModuleImpl.java:1
364)
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
(ModuleImpl.java:677)
at
org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
uleImpl.java:1650)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
*at
ca.ubc.magic.osgi.dependency.analyzer.DependencyGraph.init(Dependency
Graph.java:55)
at
ca.ubc.magic.osgi.dependency.analyzer.DependencyGraph.run(DependencyG
raph.java:45)*
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
javax.swing.undo.UndoableEditSuppor
t
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
(ModuleImpl.java:738)
at
org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
uleImpl.java:1650)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 26 more
And finally, this is the MANIFEST.MF file for the bundle that is using the
SWING library:
*Manifest-Version: 1.0
Export-Package: ca.ubc.magic.osgi.dependency.analyzer;uses:="org.osgi.
framework,org.jgraph.graph,org.jgrapht,org.jgrapht.ext,org.jgrapht.gr
aph,org.jgraph,javax.swing,javax.swing.undo"
Built-By: nima
Tool: Bnd-0.0.357
Bundle-Name: Archetype - osgi.dependency.analyzer
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.6.0_14
Bundle-Version: 0.0.1
Bnd-LastModified: 1266356538046
Bundle-ManifestVersion: 2
Bundle-Activator: ca.ubc.magic.osgi.dependency.analyzer.Activator
Import-Package: ca.ubc.magic.osgi.dependency.analyzer,javax.swing,java
x.swing.undo,org.jgraph,org.jgraph.graph,org.jgrapht,org.jgrapht.ext,
org.jgrapht.graph,org.osgi.framework;version="1.3"
Bundle-SymbolicName: org.example.osgi.dependency.analyzer*
any help is highly appreciated.
-Nima
On Tue, Feb 16, 2010 at 7:31 AM, Karl Pauls <[email protected]> wrote:
> try to set the parent classloader to framework via the following property:
>
> org.osgi.framework.bundle.parent=framework
>
> regards,
>
> Karl
>
> On Tue, Feb 16, 2010 at 4:25 PM, <[email protected]> wrote:
> > Hi,
> >
> >
> >
> > I am exporting packages from non-OSGi jar (Oracle Coherence) via felix
> > system packages extra property (snippet below)
> >
> > org.osgi.framework.system.packages.extra=\
> >
> > .
> >
> > .
> >
> > com.tangosol.util,\
> >
> > com.tangosol.net,\
> >
> > com.tangosol.net.cache,\
> >
> > com.tangosol.util.filter,\
> >
> > com.tangosol.util.processor,\
> >
> > com.tangosol.coherence.component.net,\
> >
> >
> >
> > The classes from these packages are used in an app context in which is
> > getting instantiated by Spring DM.
> >
> >
> >
> > Here is the snippet of the command line used to launch felix:
> >
> > /usr/java/jre1.6.0_17/bin/java -Xmx1024m -classpath
> > .:/usr/share/java/eventsubsys/coherence-core-3.5.jar ......some more
> > jars on Classpath
> >
> > -Dfelix.config.properties=file:/etc/sysconfig/felix_config.properties
> > -Dfelix.auto.deploy.dir=/usr/share/java/felix/basebundles
> > -Dfelix.cache.rootdir=/var/felix/emgr
> >
> > -Dfelix.fileinstall.dir=/usr/share/java/emgr -jar
> > /usr/share/java/felix/felix.jar
> >
> >
> >
> > Here is the stack trace I am getting :
> >
> >
> >
> > Caused by: java.lang.NoClassDefFoundError: com/tangosol/util/Filter
> >
> > at java.lang.Class.getDeclaredConstructors0(Native Method)
> >
> > at java.lang.Class.privateGetDeclaredConstructors(Unknown
> > Source)
> >
> > at java.lang.Class.getConstructor0(Unknown Source)
> >
> > at java.lang.Class.getDeclaredConstructor(Unknown Source)
> >
> > at
> > org.springframework.beans.factory.support.SimpleInstantiationStrategy.in
> > stantiate(SimpleInstantiationStrategy.java:54)
> >
> > at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
> > tory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
> >
> > ... 85 more
> >
> > Caused by: java.lang.ClassNotFoundException: *** Package
> > 'com.tangosol.util' is imported by bundle 30 from bundle 0, but the
> > exported package from bundle 0 does not contain the requested class
> > 'com.tangosol.util.Filter'. Please verify that the class name is correct
> > in the importing bundle 30 and/or that the exported package is correctly
> > bundled in 0. ***
> >
> > at
> > org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Module
> > Impl.java:1664)
> >
> > at java.lang.ClassLoader.loadClass(Unknown Source)
> >
> > at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> >
> > ... 91 more
> >
> > Caused by: java.lang.ClassNotFoundException: com.tangosol.util.Filter
> >
> > at java.net.URLClassLoader$1.run(Unknown Source)
> >
> > at java.security.AccessController.doPrivileged(Native Method)
> >
> > at java.net.URLClassLoader.findClass(Unknown Source)
> >
> > at java.lang.ClassLoader.loadClass(Unknown Source)
> >
> > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> >
> > at java.lang.ClassLoader.loadClass(Unknown Source)
> >
> > at
> > org.apache.felix.framework.ExtensionManager$ExtensionManagerModule.getCl
> > assByDelegation(ExtensionManager.java:658)
> >
> > at
> > org.apache.felix.framework.searchpolicy.R4Wire.getClass(R4Wire.java:108)
> >
> > at
> > org.apache.felix.framework.ModuleImpl.searchImports(ModuleImpl.java:1364
> > )
> >
> > at
> > org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(Mo
> > duleImpl.java:677)
> >
> > at
> > org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
> >
> > at
> > org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Module
> > Impl.java:1650)
> >
> > ... 93 more
> >
> >
> >
> > Thanks,
> >
> > Prakash
> >
> >
>
>
>
> --
> Karl Pauls
> [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
http://nima.magic.ubc.ca