1.6. How to access Web Flow artifacts from the SpringSource Bundle Repository

Each jar in the Web Flow distribution is also available in the SpringSource Enterprise Bundle Repository. Use this repository when you wish to run Spring Web Flow in an OSGi environment such as the SpringSource dm Server. All jars obtained from the SpringSource Bundle Repository are OSGi-ready.

Accessing Web Flow bundles with Maven

To access bundles using Maven, add the following repositories to your Maven pom:

<repository>
    <id>com.springsource.repository.bundles.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Releases</name>
    <url>http://repository.springsource.com/maven/bundles/release</url>
</repository>

<repository>
    <id>com.springsource.repository.bundles.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Releases</name>
    <url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
			

Then declare the following dependencies:

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>org.springframework.binding</artifactId>
    <version>2.0.8.RELEASE</version>
</dependency> 

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>org.springframework.js</artifactId>
    <version>2.0.8.RELEASE</version>
</dependency> 

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>org.springframework.webflow</artifactId>
    <version>2.0.8.RELEASE</version>
</dependency>
			

And if using JavaServerFaces:

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>org.springframework.faces</artifactId>
    <version>2.0.8.RELEASE</version>
</dependency>
			

Note the Web Flow artifacts in the SpringSource Bundle Repository are indexed under different ids because their transitive dependencies are different than the Maven Central artifacts. The difference is the transitive jars such as commons-logging have been patched by SpringSource to add the metadata required to make them OSGi-compatible.

Accessing Web Flow bundles with Ivy

To access bundles using Ivy, add the following repositories to your Ivy config:

<url name="com.springsource.repository.bundles.release">
    <ivy pattern="http://repository.springsource.com/ivy/bundles/release/
                  [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
    <artifact pattern="http://repository.springsource.com/ivy/bundles/release/
                       [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
</url>

<url name="com.springsource.repository.bundles.external">
    <ivy pattern="http://repository.springsource.com/ivy/bundles/external/
                  [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
    <artifact pattern="http://repository.springsource.com/ivy/bundles/external/
                       [organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
</url>
			

Then declare the following dependencies:

<dependency org="org.springframework.webflow" name="org.springframework.binding"
            rev="2.0.8.RELEASE" conf="compile->runtime" />
<dependency org="org.springframework.webflow" name="org.springframework.js"
            rev="2.0.8.RELEASE" conf="compile->runtime" />
<dependency org="org.springframework.webflow" name="org.springframework.webflow"
            rev="2.0.8.RELEASE" conf="compile->runtime" />
			

And if using JavaServerFaces:

<dependency org="org.springframework.webflow" name="org.springframework.faces"
            rev="2.0.8.RELEASE" conf="compile->runtime" />
			

Accessing the dm Server Web Flow library

A dm Server library for Web Flow is also available if you are deploying to a dm Server environment. Import this library in your MANIFEST.mf to automatically import all Web Flow bundles. To access the library, add the following repository:

<repository>
    <id>com.springsource.repository.libraries.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
    <url>http://repository.springsource.com/maven/libraries/release</url>
</repository>	
			

And declare the following dependency:

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>org.springframework.webflow-library</artifactId>
    <type>libd</type>
    <version>2.0.8.RELEASE</version>
</dependency>