B.3. Sample POM File
POM file
Example B.1, “Sample POM File Illustrating Best Practices” shows a sample POM that illustrates the best practices for building an OSGi bundle using Maven.
Example B.1. Sample POM File Illustrating Best Practices
<?xml version="1.0" encoding="UTF-8"?> <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.fusesource</groupId> <artifactId>org.fusesource.fooProject</artifactId> <packaging>bundle</packaging> <version>1.0-SNAPSHOT</version> <name>A fooProject OSGi Bundle</name> <url>http://www.myorganization.org</url> <dependencies>...</dependencies> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <configuration> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Export-Package> !${project.artifactId}.impl.*, ${project.artifactId}*;version=${project.version};-noimport:=true </Export-Package> <Import-Package> org.springframework.*;version="[2.5,4)", org.apache.commons.logging.*;version="[1.1,2)", * </Import-Package> </instructions> </configuration> </plugin> </plugins> </build> </project>