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 > > >
