2009/10/14 Gogu Nae <[email protected]> > Hello, > > I'm tring to buid a bundle that will contain all non-osgi jars in order to > share it between other bundles. > > I've started with one: > .... > <dependencies> > <dependency> > <groupId>com.sun.xml.bind</groupId> > <artifactId>jaxb-impl</artifactId> > <version>2.1.4</version> > </dependency> > ... > </dependencies> > <build> > <plugins> > <plugin> > <groupId>org.ops4j</groupId> > > <artifactId>maven-pax-plugin</artifactId> > <version>1.4</version> > <extensions>true</extensions> > </plugin> > <plugin> > <groupId>org.apache.felix</groupId> > <artifactId>maven-bundle-plugin</artifactId> > <version>1.4.3</version> > <configuration> > <instructions> > ... > > <Export-Package>*;-split-package:=merge-first</Export-Package> > <Import-Package>javax.*</Import-Package> > <Embed-Transitive>true</Embed-Transitive> > <Embed-Dependency>*;inline=true</Embed-Dependency> > <_include>-osgi.bnd</_include> > </instructions> > </configuration> > </plugin> > </plugins> > </build> > .... > > When I'm running > mvn clean org.apache.felix:maven-bundle-plugin:bundleall install > > I get this > > [INFO] > [bundle:bundleall] > [INFO] Bundling javax.activation:activation:jar:1.1:compile > [INFO] Bundling javax.xml.stream:stax-api:jar:1.0-2:compile > [INFO] Bundling javax.xml.bind:jaxb-api:jar:2.1:compile > [INFO] Bundling com.sun.xml.bind:jaxb-impl:jar:2.1.4:compile > [INFO] [resources:resources] > [INFO] Using default encoding to copy filtered resources. > [INFO] [pax:compile] > [INFO] No sources to compile > [INFO] [resources:testResources] > [INFO] Using default encoding to copy filtered resources. > [INFO] [pax:testCompile] > [INFO] No sources to compile > [INFO] [surefire:test] > [INFO] No tests to run. > [INFO] [bundle:bundle] > [ERROR] Error building bundle > com.du.lib.bundle:du-lib-bundle:bundle:1.0.0-SNAPS > HOT : Unresolved references to [com.sun.xml.fastinfoset.sax, > com.sun.xml.fastinf > oset.stax, org.jvnet.fastinfoset, org.jvnet.staxex, org.w3c.dom, > org.xml.sax, or > g.xml.sax.ext, org.xml.sax.helpers] by class(es) on the > Bundle-Classpath[Jar:dot > ]: [com/sun/xml/bind/v2/runtime/unmarshaller/UnmarshallerImpl.class, ...] > > How can I force the plugin to go deeper and get me the other dependencies > too from the maven repository? >
firstly try the latest version of the plugin (2.0.1) because it handles the various dependency scopes better secondly if you're using a transitive Embed-Dependency then you should just need to use bundle:bundle the bundleall goal is a specialized goal that attempts to wrap each dependency up as a bundle using heuristics (export all content, etc.) and doesn't perform any embedding, etc. - with bundleall you'll get a lot of small bundles, whereas with a transitive Embed-Dependency you should get one big bundle. > Thank you > -- Cheers, Stuart

