Garrett Headley wrote:
I was actually trying to use ANT, but I went back and ran the same simulation, but used Maven instead. So, the manifest file (from the jar):

Manifest-Version: 1.0
Extension-Icon: org/apache/felix/example/extenderbased/circle/circle.png
Created-By: 1.5.0_11 (Sun Microsystems Inc.)
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: javax.imageio,javax.swing,org.apache.felix.example.extenderbased.host.extension
Include-Resource: src\main\resources
Bnd-LastModified: 1190148057592
Bundle-Version: 1.0.0
Bundle-Name: Apache Felix Circle Extension
Bundle-Description: A simple extension for drawing circles.
Private-Package: org.apache.felix.example.extenderbased.circle
Bundle-DocURL: http://www.apache.org/
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Bundle-SymbolicName: org.apache.felix.example.extenderbased.circle
Tool: Bnd-0.0.160
Extension-Name: Circle
Extension-Class: org.apache.felix.example.extenderbased.circle.Circle

And the exception list:

ERROR: Error starting file:extenderbased.circle/target/extenderbased.circle-1.0.0.jar (org.osgi.framework.BundleException: Unresolved package in bundle 1: package; (package=javax.imageio)) org.osgi.framework.BundleException: Unresolved package in bundle 1: package; (package=javax.imageio)
    at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1649)
    at org.apache.felix.framework.Felix._startBundle(Felix.java:1516)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1469)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:1064) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:258)
    at java.lang.Thread.run(Thread.java:595)

This error looks pretty normal. The bundle cannot be started because no one is exporting the javax.imageio package. How are you starting the example?

If you are manually installing the bundles from your standard Felix directory (e.g., java -jar bin/felix.jar) then you should be getting this package exported for you automatically from the class path by the system bundle. If you look in conf/config.properties, you can see that Felix sets the default value of org.osgi.framework.system.packages to be all public packages in the underlying JRE.

If you are starting this using the custom launcher of the extender host (i.e., starting an embedded instance of Felix), then this example code is simplified and only exports a few packages from the class path. You will need to go to the static main() in Activator.java of the extender host and add "javax.imageio" to the packages it exports.

If this is your scenario, you can simply switch to using "java -jar bin/felix.jar" in your Felix install directory and manually installing the bundles and everything should work fine, I would guess.

-> richard


Also, I attached the modified Circle.java

Thanks for the help... much appriciated
Garrett


*/"Richard S. Hall" <[EMAIL PROTECTED]>/* wrote:

    I take it you are not using the Maven build files? If so, you
    shouldn't
    have to add anything to the manifest, because it is generated for you.

    It might help to see your manifest along with the exceptions you are
    getting.

    -> richard

    Garrett Headley wrote:
    > Hey there
    >
    > I have a question about the Import-Package attribute in the
    manifest file. For a simple example, I modified the
    extenderbased.circle such that instead of drawing the circle, I
    tried to load the png from the file to draw the icon to the frame
    (in the draw method of Circle). So, using javax.imageio.ImageIO to
    read the image in, I had to import a non-java.xxx package. So, I
    placed "Import-Package: javax.imageio.ImageIO" in my manifest
    file. However, now when the circle bundle is loaded, I get the
    host of exceptions following the "ClassNotFound" exception for
    javax.imageio.ImageIO. I have no trouble importing the SimpleShape
    interface with it's package name as an attribute, but for some
    reason it's not working with the javax.* packages.
    >
    > Should be pretty easy to reproduce... I'm using java 1.5SE.
    >
    > Thanks in advance for any help
    > Garrett
    >
    >
    > ---------------------------------
    > Take the Internet to Go: Yahoo!Go puts the Internet in your
    pocket: mail, news, photos & more.
    >

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [EMAIL PROTECTED]
    For additional commands, e-mail: [EMAIL PROTECTED]


------------------------------------------------------------------------
Luggage? GPS? Comic books?
Check out fitting gifts for grads <http://us.rd.yahoo.com/evt=48249/*http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz> at Yahoo! Search.
------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to