Good point Charles. I have installed spring-jms. *Now look: I have this in my pom: * <Import-Package>com.mysql.jdbc.jdbc2.optional,javax.crypto,javax.crypto.spec,javax.jms,javax.naming,javax.naming.spi,javax.sql,javax.transaction,javax.transaction.xa,org.slf4j</Import-Package>
*and this in the Karaf console:* karaf@root> package:import 142 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.sql; 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 Sun Microsystems' JDBC Driver for MySQL (76): com.mysql.jdbc.jdbc2.optional; version=5.1.18 geronimo-jta_1.1_spec (117): javax.transaction.xa; version=1.1.0 geronimo-jta_1.1_spec (117): javax.transaction; version=1.1.0 geronimo-jms_1.1_spec (139): javax.jms; version=1.1.0 karaf@root> Where is the* com.mysql.jdbc.jdbc2.optional *package?? J. 2012/8/13 Charles Moulliard <[email protected]> > Have you installed the bundle containing this package (*javax.jms) ? * > *features:install spring-jms > * > > On Mon, Aug 13, 2012 at 5:51 PM, Julien Martin <[email protected]> wrote: > >> Charles, >> >> I have got past the compile error. What is odd is that the container >> won't start my bundle: >> >> <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,javax.crypto,javax.crypto.spec,javax.jms,javax.naming,javax.naming.spi,javax.sql,javax.transaction,javax.transaction.xa,org.slf4j</Import-Package> >> </instructions> >> <unpackBundle>true</unpackBundle> >> </configuration> >> </plugin> >> The error I get from Karaf is: >> *karaf@root> osgi:restart 108* >> *org.osgi.framework.BundleException: Unresolved constraint in bundle >> osgi.org.codehaus.btm [108]: Unable to resolve 108.0: missing requirement >> [108.0]* >> *package; (package=javax.jms)* >> >> Whereas the package is imported and exported... >> >> Julien. >> >> 2012/8/13 Charles Moulliard <[email protected]> >> >>> You have to add these packages in the Import-Package tag as they are >>> required by the bnd tool. This is due to the fact that you define your self >>> the packages to be used and does not let the tool to discover them using * >>> symbol >>> >>> >>> On Mon, Aug 13, 2012 at 5:34 PM, Julien Martin <[email protected]> wrote: >>> >>>> Charles, >>>> >>>> I see... Do you see anything wrong with my pom? It does not compile >>>> with the following error: >>>> >>>> *[ERROR] Error building bundle osgi.org.codehaus.btm:btm:bundle:2.1.2 >>>> : Unresolved references to [javax.crypto, javax.crypto.spec, javax.jms, >>>> * >>>> >>>> Do you have any idea why it requires JMS for instance?? >>>> >>>> Regards, >>>> J. >>>> >>>> >>>> 2012/8/13 Charles Moulliard <[email protected]> >>>> >>>>> 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 >>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> 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 > > >
