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:
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 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:
If you want use the Cargo Ant tasks, add the following JARs to Ant'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 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:
Example for adding the Codehaus Cargo uberjar as dependency