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

Reply via email to