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

Reply via email to