Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Cargo offers primarily a Java API. It is meant to be embedded in your application. You'll need Java SE version 7 8 or greater.

You have two choices to pick from the Downloads page:

  • the cargo-core-api-* jars and the container implementations you wish to use (cargo-core-container-* jars)
  • or the cargo-core-uberjar jar which aggregates all the required jars and their core dependencies (such as the various J2EE, Java EE and Jakarta EE specifications, JNI, etc.)

Cargo's base dependencies are as follows:

...

only base dependency not packed in the uberjar is commons discovery 0.5

...

, which itself depends on commons logging 1.1.1

...

(though our builds always use the latest version).

In addition, some specific containers (for example, JRun) and some deployables (for example, Tomcat WARs) and features require the following:

...

Container or featureAdditional dependencies
Avoiding XML parser issues

Convenience JAR with DTDs that are used by some Cargo components which have licenses incompatible with the rest of Cargo

Installers
JOnAS standalone containersApache Ant (including the Ant Launcher), the version seems not to matter too much
  • Parsing of container-specific deployables (JBoss, Orion, Tomcat, etc.)
  • Merging WAR files
WildFly remote deployer, Cargo Daemon Java client
WildFly Swarm

Apache Ant

If you want use the Cargo Ant tasks, add the following JARs to ANTAnt's classpath:

  • The same jars as for the Java API (i.e., either the API JARs + the container(s) or the uberjar)
  • The cargo-ant JAR, containing the <taskdef> definition (see the Ant support page)

Apache

...

Maven 3

Maven 2 / Maven 3 will automatically download all required dependencies: see the Maven2 plugin Maven 3 Plugin page. As a result, no installation is required for Maven 2 / Maven 3.

If you are creating a Java applications which use the Cargo via API, you need to add as dependency either the artifact for your favorite container or the uberjar (which contains all containers). See below examples:

Code Block
titleExample for adding the Codehaus Cargo uberjar as dependency
<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-uberjar</artifactId>
  <version>${cargo.version}</version>
</dependency>

or, with the Tomcat container (as an example):

Code Block
titleExample for adding the Codehaus Cargo Tomcat container as dependency
<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-container-tomcat</artifactId>
  <version>${cargo.version}</version>
</dependency>

...