Independent extensions:


Our advertisement provider, Google, uses cookies for the proper management of their services.
Click here to learn more.


Deployables are archives (WAR, EAR, etc) that can be deployed in the container


A Deployable class is a wrapper class around a physical archive. Deployable are constructed by directly instantiating them (e.g. new WAR(...) or new TomcatWAR(...)) or by using a DeployableFactory (e.g. DefaultDeployableFactory). There are 2 generic deployable classes:

  • o.c.c.c.deployable.WAR
  • o.c.c.c.deployable.EAR
    There are also some container-specific deployables such as:
  • o.c.c.c.deployable.tomcat.TomcatWAR
  • o.c.c.c.deployable.jboss.JBossWAR
    They are there to support container extensions to archives (for example, Tomcat supports context.xml files located in your WAR's META-INF directory, JBoss allows for a jboss-web.xml located in your WAR, etc).

The DeployableFactory interface offers a principal method for creating a Deployable: DeployableFactory.createDeployable(String containerId, String deployableLocation, DeployableType type). DeployableType can be DeployableType.WAR or DeployableType.EAR.

Once you have a Deployable instance wrapping your archive, you'll need to deploy it. This can be done either using Static Deployment or using Hot Deployment.

Example using the Java API

Deploying a WAR in Tomcat 5.x:

Container container = new Tomcat5xContainer(
    new CatalinaStandalineConfiguration("target/tomcat5x"));

WAR war = new WAR("path/to/my.war");


Example using the Generic API


DeployableFactory factory = new DefaultDeployableFactory();
WAR war = factory.createDeployable("tomcat5x", "path/to/my.war", 

Example using the Ant API

Statically deploying a WAR in Tomcat 5.x:

<cargo containerId="tomcat5x" home="c:/apps/tomcat-5.0.29" action="start">
    <war warfile="path/to/my.war"/>

Example using the Maven 2 plugin