Skip to content
Java web app that serves as a basic proxy to provide a Maven repository front-end to p2 (Eclipse-style) repositories
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

P2 Maven Resolver

This project is a Maven plugin to allow basic resolution of artifacts from a p2 (Eclipse-style) repository.


To use this plugin, add it to the <build> section of your project's Pom with <extensions>true</extensions>. Then, add a repository with <layout>p2</layout> pointing at a location containing an "artifacts.jar" file and a "plugins" directory. Once that is set up, you can refer to p2-hosted artifacts with a groupId matching the id of the repository you add.

<project xmlns="" xmlns:xsi=""
		<!-- the plugin is hosted in OpenNTF's Maven repository -->

			<id>org.eclipse.p2.repo</id>   <!-- defines the groupId to be used below -->

			<groupId>org.eclipse.p2.repo</groupId>   <!-- matches id of the repo above -->


Dependency Handling

When generating Poms for the p2 artifacts, this provider created <dependency> entries for bundles referenced in Require-Bundle headers that are contained within the same repository, as well as for embedded Jars within the same bundle.

Embedded Jars

To access a Jar embedded inside an OSGi artifact directly, use the embedded Jar's base name as a classifier:

    <classifier>example.embedded</classifier>   <!-- matches example.embedded.jar -->

If the embedded Jar is within a directory, it should be referenced with a "$" in place of the "/":

    <classifier>lib$example.embedded</classifier>   <!-- matches lib/example.embedded.jar -->


This provider handles source Jars by looking for a bundle of the same artifact ID plus ".source" when asked for the "sources" classifier.

You can’t perform that action at this time.