Okay, I think I have a better example, along the same lines.  My bundle
uses JAXP, but the host application does not.  When one of my bundles
classes is loaded, I get a NoClassDefFoundError :
javax/xml/stream/XMLStreamException. Is there some way to "embed"
classes from JAXP in my bundle such that the host application doesn't
have to have JAXP in its classpath?

 

Would I use the Import-Package tag?  Or Private-Package?
Embed-Dependency?

 

Sorry for having trouble wording my problem in a very understandable
manner.  Mainly what I want to do is to allow a bundle developer the
option of including classes from a library dependency that a host
application may have no knowledge of.


Thanks again

Garrett 

________________________________

 

 

Well, you are going to have to decide what you want to be in your
bundle. I assume only org.jdesktop.swingx, so you probably want to have
your private package include org.jdesktop.swingx.*. 

 

I think you should just let javax.swing come from the class path and not
try to include this in your bundle, since I don't think that is what you
really want to do (do you?). So, you then will have to make sure that
all javax.swing packages are properly exported via the system bundle,
which is the normal case for Felix. 

 
-> richard
 
________________________________
 
Headley, Garrett wrote:
Thanks for the fast response, Richard.
 
I am using your maven bundle plugin, and the
<Private-Package>org.jdesktop.swingx<Private-Package> tag.  When Felix
loads my bundle, I get an "unresolved package (package =
org.jdesktop.swingx.multislider).
 

So then I had 

<Private-Package>org.jdesktop.swingx,
org.jdesktop.swingx.multislider<Private-Package>
 
At that point, I got an unresolved package (package = javax.swing.undo).
Which, I'm assuming is a dependency of one of the swingx classes.  When
I add javax.swing.undo to the list of private packages, I get the
message "Instructions for Private-Package that are never used:
javax\.swing\.undo", and the same unresolved package message when I try
to load the plugin from the host application.
 
I'm obviously doing SOMETHING wrong and could use some direction
 
Thanks in advance
 
Garrett
 
________________________________
 
If you are using our maven bundle plugin, then you can just tell it to
include any packages you want into the resulting bundle JAR file. The
example app itself does this to package all of the Felix packages into

the "host" bundle so that it can run in "hosted framework" mode. 

-> richard
 
________________________________
 
Headley, Garrett wrote:
I have a question about how to embed classes or packages in a bundle.
For instance, given the example extender based application, assume one
of the shapes is using classes from swingx.  Rather than add
org.jdesktop.swingx to the map of framework system packages when felix
is started up by the host, is there a way to embed the package (or
specific class) in the bundle?

Thanks Garrett 

 

 

Reply via email to