Tim Moloney wrote:
I've written a pom.xml file that bundles commons-logging and all of
its dependencies into a Felix bundle (see below). I'm about to start
bundling other library-type jar files that I'll need so I'm looking
for any comments/critiques.
I'm still quite the newbie with Felix (and Maven) so I have a few
questions.
- I'm still fuzzy on what exact values I should use for groupId and
artifactId.
- Am I doing this the hard (or wrong) way?
- Is there a way to automate this?
- Am I missing anything in my "bundling"?
One other thing...I am not sure if the current maven-osgi-plugin is
providing a default bundle symbolic name, so you might want to add one
to your pom file...it can be your artifactId or groupId.artifactId
depending on the values you use.
-> richard
- Are there any "best practices" issues that I should be aware of?
Thanks,
Tim Moloney
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.commons.logging</groupId>
<artifactId>org.apache.commons.logging</artifactId>
<packaging>osgi-bundle</packaging>
<version>1.1</version>
<name>org.apache.commons.logging OSGi Bundle</name>
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix.plugins</groupId>
<artifactId>maven-osgi-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<osgiManifest>
<bundleName>${pom.name}</bundleName>
<bundleVendor>${pom.groupId}</bundleVendor>
<exportPackage>${pom.artifactId}</exportPackage>
<bundleDescription>${pom.name}</bundleDescription>
</osgiManifest>
</configuration>
</plugin>
</plugins>
</build>
</project>