This is because the maven bundle tool (= bnd) will calculate and add missing packages. So don't worry about that for the moment.
On Mon, Aug 13, 2012 at 5:22 PM, Julien Martin <[email protected]> wrote: > Hello, > > I am having problem understanding how to configure the shade plugin: > > What I have in the actual manifest does not match what I have specified in > the POM's plugin i.e. there are many more entries in the actual manifest > than there are in the POM's plugin... > > Any idea? > > Regards, > > Julien. > > Here is my POM: > > <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" > http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>osgi.org.codehaus.btm</groupId> > <artifactId>btm</artifactId> > <version>2.1.2</version> > <packaging>bundle</packaging> > <dependencies> > <dependency> > <groupId>org.codehaus.btm</groupId> > <artifactId>btm</artifactId> > <version>2.1.2</version> > <optional>true</optional> > </dependency> > </dependencies> > <build> > <defaultGoal>install</defaultGoal> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-shade-plugin</artifactId> > <version>1.1</version> > <executions> > <execution> > <phase>package</phase> > <goals> > <goal>shade</goal> > </goals> > <configuration> > <artifactSet> > <includes> > <include>org.codehaus.btm:btm</include> > </includes> > </artifactSet> > <filters> > <filter> > <artifact>org.codehaus.btm:btm</artifact> > <excludes> > <exclude>**</exclude> > </excludes> > </filter> > </filters> > <promoteTransitiveDependencies>true</promoteTransitiveDependencies> > <createDependencyReducedPom>true</createDependencyReducedPom> > </configuration> > </execution> > </executions> > </plugin> > <plugin> > <groupId>org.apache.felix</groupId> > <artifactId>maven-bundle-plugin</artifactId> > <version>2.1.0</version> > <extensions>true</extensions> > <configuration> > <instructions> > <Bundle-SymbolicName>osgi.org.codehaus.btm</Bundle-SymbolicName> > <Export-Package>bitronix.tm.resource.jdbc,bitronix.tm > ,bitronix.tm.internal,bitronix.tm.journal,bitronix.tm.recovery,bitronix.tm.resource,bitronix.tm.resource.common,bitronix.tm.resource.jdbc.lrc,bitronix.tm.timer,bitronix.tm.twopc,bitronix.tm.twopc.executor,bitronix.tm.utils</Export-Package> > <Import-Package>com.mysql.jdbc.jdbc2.optional</Import-Package> > </instructions> > <unpackBundle>true</unpackBundle> > </configuration> > </plugin> > </plugins> > </build> > > </project> > > 2012/8/13 Charles Moulliard <[email protected]> > >> It is time now that you discover the maven-bundle-plugin in charge to >> generate properly the MANIFEST.mf file containing bundle instructions ( >> http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html & >> http://karaf.apache.org/manual/2.2.8/developers-guide/creating-bundles.html >> ) >> >> Add this package into the Import-Package tag >> >> >> >> >> On Mon, Aug 13, 2012 at 4:11 PM, Julien Martin <[email protected]> wrote: >> >>> Thanks again Charles! >>> >>> No it does not import it (see output): >>> >>> *karaf@root> packages:imports 79* >>> *System Bundle (0): javax.crypto; version=0.0.0* >>> *System Bundle (0): javax.crypto.spec; version=0.0.0* >>> *System Bundle (0): javax.naming; version=0.0.0* >>> *System Bundle (0): javax.naming.spi; version=0.0.0* >>> *System Bundle (0): javax.rmi; version=0.0.0* >>> *System Bundle (0): javax.sql; version=0.0.0* >>> *System Bundle (0): javax.swing; version=0.0.0* >>> *System Bundle (0): javax.swing.border; version=0.0.0* >>> *System Bundle (0): javax.swing.event; version=0.0.0* >>> *System Bundle (0): javax.swing.table; version=0.0.0* >>> *System Bundle (0): javax.swing.tree; version=0.0.0* >>> *OPS4J Pax Logging - API (4): org.slf4j; version=1.6.4* >>> *OPS4J Pax Logging - API (4): org.slf4j; version=1.6.1* >>> *OPS4J Pax Logging - API (4): org.slf4j; version=1.5.11* >>> *OPS4J Pax Logging - API (4): org.slf4j; version=1.4.3* >>> *jta (70): javax.transaction; version=0.0.0* >>> *jta (70): javax.transaction.xa; version=0.0.0* >>> >>> How do I configure it so that is properly imports the required packages? >>> Regards, >>> J. >>> >>> 2012/8/13 Charles Moulliard <[email protected]> >>> >>>> Can you check please that your bundle 79 imports well this package >>>> (*com.mysql.jdbc.jdbc2.optional) >>>> by using this command ?* >>>> * >>>> * >>>> *packages:imports 79 >>>> * >>>> >>>> On Mon, Aug 13, 2012 at 4:03 PM, Julien Martin <[email protected]>wrote: >>>> >>>>> Hello, >>>>> >>>>> I've successfully managed for Karaf to pick up my Spring configuration >>>>> files. However, I get now a ClassNotFoundException: >>>>> >>>>> *Caused by: java.lang.ClassNotFoundException: >>>>> com.mysql.jdbc.jdbc2.optional.MysqlXADataSource not found by btm* [79] >>>>> at >>>>> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) >>>>> at >>>>> org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) >>>>> at >>>>> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247) >>>>> at java.lang.Class.forName0(Native Method) >>>>> at java.lang.Class.forName(Class.java:169) >>>>> at >>>>> bitronix.tm.utils.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:63) >>>>> at >>>>> bitronix.tm.resource.common.XAPool.createXAFactory(XAPool.java:300) >>>>> at bitronix.tm.resource.common.XAPool.<init>(XAPool.java:63) >>>>> at >>>>> bitronix.tm.resource.jdbc.PoolingDataSource.buildXAPool(PoolingDataSource.java:89) >>>>> at >>>>> bitronix.tm.resource.jdbc.PoolingDataSource.init(PoolingDataSource.java:76) >>>>> ... 21 more >>>>> >>>>> What strikes me is that my Mysql driver is properly installed into >>>>> Karaf (see bold line below): >>>>> >>>>> START LEVEL 100 , List Threshold: 50 >>>>> ID State Blueprint Spring Level Name >>>>> [ 50] [Active ] [ ] [ ] [ 80] Spring >>>>> Integration Core (2.1.3.RELEASE) >>>>> [ 51] [Active ] [ ] [ ] [ 80] commons-dbcp >>>>> (1.2.2) >>>>> [ 52] [Active ] [ ] [ ] [ 80] OSGi R4 Core >>>>> Bundle (4.1) >>>>> [ 53] [Active ] [ ] [ ] [ 80] Spring Test >>>>> (3.0.7.RELEASE) >>>>> [ 54] [Active ] [ ] [ ] [ 80] c3p0 (0.9.1.2) >>>>> [ 55] [Active ] [ ] [ ] [ 80] Commons IO >>>>> (2.0.1) >>>>> [ 56] [Active ] [ ] [ ] [ 80] aopalliance (1.0) >>>>> [ 57] [Active ] [ ] [ ] [ 80] xstream (1.3) >>>>> [ 58] [Active ] [ ] [ ] [ 80] Spring >>>>> Expression Language (3.0.7.RELEASE) >>>>> [ 59] [Active ] [ ] [ ] [ 80] Spring Context >>>>> Support (3.0.7.RELEASE) >>>>> [ 61] [Active ] [ ] [ ] [ 80] Spring >>>>> Integration File Support (2.1.3.RELEASE) >>>>> [ 62] [Resolved ] [ ] [ ] [ 80] slf4j-log4j12 >>>>> (1.6.1) >>>>> Hosts: 69 >>>>> [ 63] [Active ] [ ] [ ] [ 80] Spring >>>>> Object/XML Mapping (3.0.7.RELEASE) >>>>> [ 64] [Active ] [ ] [ ] [ 80] Spring JDBC >>>>> (3.0.7.RELEASE) >>>>> [ 65] [Active ] [ ] [ ] [ 80] >>>>> commons-collections (3.2) >>>>> [ 66] [Active ] [ ] [ ] [ 80] Spring Beans >>>>> (3.0.7.RELEASE) >>>>> [ 67] [Active ] [ ] [ ] [ 80] Spring ASM >>>>> (3.0.7.RELEASE) >>>>> [ 68] [Active ] [ ] [ ] [ 80] junit (4.10) >>>>> [ 69] [Active ] [ ] [ ] [ 80] slf4j-api (1.6.1) >>>>> Fragments: 62 >>>>> [ 70] [Active ] [ ] [ ] [ 80] jta (1.1) >>>>> [ 71] [Active ] [ ] [ ] [ 80] Spring Batch >>>>> Infrastructure (2.1.8.RELEASE) >>>>> [ 72] [Active ] [ ] [ ] [ 80] Spring Batch >>>>> Test (2.1.8.RELEASE) >>>>> [ 73] [Active ] [ ] [ ] [ 80] xpp3_min >>>>> (1.1.0.4c) >>>>> [ 74] [Active ] [ ] [ ] [ 80] jcl-over-slf4j >>>>> (1.6.1) >>>>> [ 75] [Active ] [ ] [ ] [ 80] hamcrest-core >>>>> (1.1) >>>>> *[ 76] [Active ] [ ] [ ] [ 80] Sun >>>>> Microsystems' JDBC Driver for MySQL (5.1.18)* >>>>> [ 77] [Active ] [ ] [ ] [ 80] commons-pool >>>>> (1.3) >>>>> [ 78] [Active ] [ ] [ ] [ 80] Spring >>>>> Transaction (3.0.7.RELEASE) >>>>> [ 79] [Active ] [ ] [ ] [ 80] btm (2.1.2) >>>>> [ 80] [Active ] [ ] [ ] [ 80] Spring Batch >>>>> Integration (1.2.1.RELEASE) >>>>> [ 81] [Active ] [ ] [ ] [ 80] Spring AOP >>>>> (3.0.7.RELEASE) >>>>> [ 82] [Active ] [ ] [ ] [ 80] Spring Context >>>>> (3.0.7.RELEASE) >>>>> [ 83] [Active ] [ ] [ ] [ 80] jettison (1.1) >>>>> [ 84] [Active ] [ ] [ ] [ 80] Spring Core >>>>> (3.0.7.RELEASE) >>>>> [ 85] [Active ] [ ] [ ] [ 80] Spring Batch >>>>> Core (2.1.8.RELEASE) >>>>> [ 93] [Active ] [ ] [Failed ] [ 80] >>>>> spring-batch-demo-trc (1.0.0.SNAPSHOT) >>>>> >>>>> Can anyone please help? >>>>> >>>>> Regards, >>>>> >>>>> J. >>>>> >>>> >>>> >>>> >>>> -- >>>> Charles Moulliard >>>> Apache Committer / Sr. Pr. Consultant at FuseSource.com >>>> Twitter : @cmoulliard >>>> Blog : http://cmoulliard.blogspot.com >>>> >>>> >>>> >>> >> >> >> -- >> Charles Moulliard >> Apache Committer / Sr. Pr. Consultant at FuseSource.com >> Twitter : @cmoulliard >> Blog : http://cmoulliard.blogspot.com >> >> >> > -- Charles Moulliard Apache Committer / Sr. Pr. Consultant at FuseSource.com Twitter : @cmoulliard Blog : http://cmoulliard.blogspot.com
