Java API

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

You have two choices to pick from the Downloads page:

Cargo's 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 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 Ant's classpath:

Apache Maven 3

Maven 3 will automatically download all required dependencies: see the Maven 3 Plugin page. As a result, no installation is required for 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:

<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-uberjar</artifactId>
  <version>${cargo.version}</version>
</dependency>

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

<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-container-tomcat</artifactId>
  <version>${cargo.version}</version>
</dependency>