Maven Launchpad PluginPage edited by Justin Edelsonadding pax web infoMaven Launchpad PluginThe Maven Launchpad Plugin provides goals which facilitate the creation of OSGi applications. It supports the following runtime scenarios:
In addition, the Maven Launchpad Plugin supports the publishing of an application descriptor, in the form of a bundle list, as a Maven artifact. This descriptor can then be used by downstream application builders as the basis for other applications. In Sling, this is embodied by two Maven projects:
Maven Launchpad Plugin provides the following goals:
General ConfigurationIn general, the bulk of the configuration of the Maven Launchpad Plugin is concerned with setting up the bundle list which all of the goals will use. This bundle list is created using the following steps:
When a bundle is added to the bundle list, if a bundle with the same groupId, artifactId, type, and classifier is already in the bundle list, the version of the existing bundle is modified. However, the start level of a bundle is never changed once that bundle is added to the bundle list. The plugin may also contribute bundles to (or remove bundles from) the bundle list as it sees fit. Bundle List FilesThe bundle list file uses a simple XML syntax representing a list of bundles organized into start levels: <?xml version="1.0"?> <bundles> <startLevel level="0"> <bundle> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>1.4</version> </bundle> <bundle> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </bundle> </startLevel> <startLevel level="10"> <bundle> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.eventadmin</artifactId> <version>1.0.0</version> </bundle> </startLevel> <startLevel level="15"> <bundle> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.jcr.api</artifactId> <version>2.0.2-incubator</version> </bundle> </startLevel> </bundles> Within each bundle element, type and classifier are also supported. Artifact DefinitionThe defaultBundleList, jarWebSupport, additionalBundles, and bundleExclusions parameters are configured with artifact definitions. This is done using a syntax similar to Maven dependency elements: <configuration> ... <jarWebSupport> <groupId>GROUP_ID</groupId> <artifactId>ARTIFACT_ID</artifactId> <version>VERSION</version> <!-- type and classifier can also be specified if needed --> </jarWebSupport> ... </configuration> For example, to use Pax Web instead of Felix HttpService as the HttpService provider, use the following: <configuration> ... <jarWebSupport> <groupId>org.ops4j.pax.web</groupId> <artifactId>pax-web-service</artifactId> <version>RELEASE</version> <!-- type and classifier can also be specified if needed --> </jarWebSupport> ... </configuration> In the case of additionalBundles and bundleExclusions, these are arrays of definitions, so an intermediate bundle element is necessary: <configuration> ... <additionalBundles> <bundle> <groupId>GROUP_ID</groupId> <artifactId>ARTIFACT_ID</artifactId> <version>VERSION</version> <!-- type and classifier can also be specified if needed --> </bundle> </additionalBundles> ... </configuration> By default, bundles are added to start level 0. To change, this use the startLevel element within each additional bundle definition.
Change Notification Preferences
View Online
|
View Change
|
Add Comment
|
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence
- [CONF] Apache Sling Website > Maven Launchpad Plugin confluence