In what you copy/paste ;-) The bundle 142 imports this package (com.mysql.jdbc.jdbc2.optional) from the bundle 76.
On Mon, Aug 13, 2012 at 6:16 PM, Julien Martin <[email protected]> wrote: > 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 >> >> >> > -- Charles Moulliard Apache Committer / Sr. Pr. Consultant at FuseSource.com Twitter : @cmoulliard Blog : http://cmoulliard.blogspot.com
