Appendix G. Spring DM OSGi Repository

At the moment, most libraries are not released as OSGi bundles which means they cannot be used inside the OSGi space unless they are embedded in other bundles. Though there are tools that make the bundling process easy, it is desirable to have the artifacts prepacked so they can be used immediately for development.

SpringSource Enterprise Bundle Repository (or SpringSource Repository) addresses this problem by providing “a collection of open source libraries commonly used for developing enterprise Java applications with the Spring Framework” (taken from the Repository FAQ). With the availability of the Bundle Repository, the Spring DM old repository (see below) has been deprecated and it is being used until migrating completely to SpringSource Repository. It is highly recommended that users migrate as well to SpringSource Repository as it provides significantly more libraries and it is intended to be a user-facing infrastructure component.

G.1. Spring DM Temporary OSGi Repository

Unfortunately, not all Spring DM dependencies are available in SpringSource Repository and thus Spring DM still needs to maintain some of its own dedicated Maven repository available at http://maven.springframework.org/osgi.

[Warning]Warning
The repository is provided as-is without any kind of support. The repository structure/content can (and will) change until it becomes stable. Before using Spring DM repository make sure the needed artifact are not available in SpringSource Repository. These being said, we hope you find it useful and we'd like to know if there are improvement that can be made to it.

G.1.1. Repository Conventions

Currently, all the artifacts published in the repository are marked as SNAPSHOTs meaning that, in time, their content can change. This allows clients to download possible manifest updates made to the libraries. We foresee that, as the library usage increases, several popular items will have the SNAPSHOT marker remove. Additionally, to differentiate the OSGi-enabled artifacts from the original ones, all libraries are placed under org.springframework.osgi group and their names contains a .osgi suffix.

So for example, an OSGi version of mx4j-3.0.2 jar is available in the Spring DM OSGi repository under at: org/springframework/osgi/mx4j.osgi/3.0.2-SNAPSHOT/mx4j.osgi-3.0.2-SNAPSHOT.jar

G.1.2. Browsing The Repository Content

The repository is currently hosted at Amazon S3. To browse the repository structure, use a S3 compatible browser (such as this one) since a vanilla web browse will not be suitable.

G.1.3. Using The Repository With Maven

The use the repository, simply add it ot the repositories group; since the repository contains SNAPSHOT artifacts, make sure to mark it accordingly:

<repositories>
  <repository>
    <id>spring-osgified-artifacts</id>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
    <name>Springframework Maven OSGified Artifacts Repository</name>
    <url>http://maven.springframework.org/osgi</url>
  </repository>
</repositories>

G.1.4. Using The Repository With Ant/Ivy

When using Ant consider using the excellent Ivy subproject for retrieving the OSGi dependencies from the Spring DM repository as Ivy can work with a Maven-style repository. Please see the Ivy tutorial for more information.