This page last changed on Jan 28, 2011 by alitokmen.

Mission

Cargo is a thin wrapper that allows you to manipulate Java EE containers in a standard way.  

Tools

Cargo provides the following Tools and APIs:

  • A Java API to start/stop/configure Java Containers and deploy modules into them.
  • A Java API to parse/create/merge Java EE Modules
  • Ant tasks and Maven 2/Maven 3 plugins.
    • Intellij IDEA and Netbeans plugins are in the sandbox.

Usage

Cargo is often used to deploy applications to containers from ant or maven builds.  Cargo can install the container and dependencies needed for your deployment as well.   Click here for a Maven 2 quick start!

For more use cases, please check the utilisation page.

Development Status

Current Versions

click in the status column to get release notes:

Version Status Comments
1.0.6 Released on 20/01/11

All released versions are available here.

Container Support

List of supported containers and the extensions that are implemented for each container (Java API, Ant tasks and Maven plugins). The specified version is the version of the associated Cargo module where the feature was first made available (for example 0.2 for the Maven2 plugin means version 0.2 of the Cargo Maven 2 extension release). Click on a container's name to see a detailed list of features it supports.

Container Java API(version) Ant tasks(version) Maven 1 plugin(version) Maven 2 plugin(version)
Geronimo 1.x
0.8

0.8

0.8

0.2
Geronimo 2.x
1.0.4

1.0.4

1.0.4

1.0.4
Glassfish 2.x
1.0.1

1.0.1

1.0.1

1.0.1
Glassfish 3.x
1.0.1

1.0.1

1.0.1

1.0.1
JBoss 3.x
0.7

0.7

0.7

0.1
JBoss 4.x
0.7

0.7

0.7

0.1
JBoss 4.2.x
1.0

1.0

1.0

1.0
JBoss 5.x
1.0

1.0

1.0

1.0
JBoss 5.1.x
1.0.1

1.0.1

1.0.1

1.0.1
JBoss 6.x
1.0.1

1.0.1

1.0.1

1.0.1
Jetty 4.x
0.1

1.0

1.0

0.2
Jetty 5.x
0.8

1.0

1.0

0.2
Jetty 6.x
0.8

1.0

1.0

0.2
Jetty 7.x
1.0.1

1.0.1

1.0.1

1.0.1
jo! 1.x
0.5

0.5

0.5

0.1
JOnAS 4.x
1.0

1.0

1.0

1.0
JOnAS 5.x
1.0

1.0

1.0

1.0
JRun 4.x
1.0

1.0

1.0

1.0
Oc4J 9.x
0.3

0.3

0.5

0.1
Oc4j 10.x
1.0

1.0

1.0

1.0
Resin 2.x
0.1

0.1

0.5

0.1
Resin 3.x
0.1

0.1

0.5

0.1
Tomcat 4.x
0.1

0.1

0.5

0.1
Tomcat 5.x
0.1

0.1

0.5

0.1
Tomcat 6.x
1.0

1.0

1.0

1.0
Tomcat 7.x
1.0.2

1.0.2

1.0.2

1.0.2
WebLogic 8.x
0.3

0.3

0.5

0.1
WebLogic 9.x
1.0

1.0

1.0

1.0
WebLogic 10.x
1.0

1.0

1.0

1.0
WebLogic 10.3.x
1.0

1.0

1.0

1.0


We also encourage you to report success and failures on different versions of those containers in the Tested on section.

News

CARGO 1.0.6 is now available

Hello CARGO lovers

CARGO version 1.0.6 is now ready! As with all previous versions of CARGO, we have new features.

  • CARGO can now deploy to remote GlassFish 3.x servers (see CARGO-828)! That support is based on the brand-new JSR88 Deployer.
  • The abstract JSR88 deployer for CARGO, which closes one of the oldest JIRA tickets: CARGO-146. This will ease a lot the implementation of any JSR88-compliant container for CARGO.

Moreover, this version being a maintenance release, it also ships with the fix for the following issues:

  • (CARGO-581) - A '/' in context path gets converted to %20
  • (CARGO-875) - java.lang.StringIndexOutOfBoundsException: String index out of range: 5 at createJBossFilterChain(JBoss51xStandaloneLocalConfiguration.java:56)
  • (CARGO-877) - Remote deployment on Jetty 7.1.6 using cargo-jetty-7-and-onwards-deployer fails
  • (CARGO-879) - Cannot set JVM arguments in GlassFish
  • (CARGO-880) - cargo-maven2-plugin - blank property value in container systemProperties causes NullPointerException

This version is also expected to be the last 1.0.x version of CARGO. Indeed, we will then be focusing our efforts on CARGO 1.1.0, which will have many changes and drop of dusty parts (such as the Maven1 plugin).

Enjoy!

CARGO 1.0.5 now available!

Hello, CARGO enthusiasts!

Just after the 1.0.4 release, I have sent the announcements I had been talking about, and we've had interesting reactions. Having taken the most important ones into account quikcly, we are happy to announce the immediate availability of CARGO 1.0.5. This time, CARGO did not change much and only includes bug fixes. Here is a short summary of the most interesting ones:

  • [CARGO-863] - The maven2 plugin gives as extension ".bundle" to OSGi bundles (instead of .jar)
  • [CARGO-865] - The remote cargo-jetty-deployer does not work with Jetty 7.2.0
  • [CARGO-869] - Issues with the Maven archetypes

With this new version, the CARGO archetypes are compatible with Maven 2.x as well as Maven 3.x. Moreover, on the OSGi side, both GlassFish 3.x and OW2 JOnAS 5.x support bundle deployment.

CARGO users that prefer the Java API and/or the ANT tasks can download this new version via http://cargo.codehaus.org/Downloads

Those who use the Maven2 plugin simply have to change their plugin version in their POMs -the artifacts are already on the Maven2 central repository.

Enjoy this new release!


architecture.jpg (image/jpeg)
architecture.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
Document generated by Confluence on Feb 24, 2011 19:55