Cargo是一个轻量级的打包器,用以标准方式操作当前的J2EE容器。它提供了Ant和Maven API来停止/启动/配置Java容器,也提供了Java API来解释/创建J2EE组件。
一下是测试时的一段Ant脚本:
<target name="cargostart">
<delete dir="${tomcatconfig.dir}" />
<mkdir dir="${tomcatlog.dir}"/>
<mkdir dir="${tomcatconfig.dir}"/>
<echo message="Starting Cargo..."/>
<echo message="Using tomcat.home = ${tomcat.home} "/>
<echo message="Using war = ${war.tt}, ${war.ss} "/>
<echo message="Jars used = ${cargo-uberjar} , ${cargo-antjar}"/>
<cargo containerId="tomcat5x" home="${tomcat.home}" output="${tomcatlog.dir}/output.log"
log="${tomcatlog.dir}/cargo.log" action="start">
<configuration home="${tomcatconfig.dir}">
<property name="cargo.servlet.port" value="8080"/>
<property name="cargo.logging" value="high"/>
<deployable type="war" file="${war.tt}"/>
<deployable type="war" file="${war.ss}"/>
<property name="cargo.datasource.datasource1" value="cargo.datasource.url=jdbc:hsqldb:mem:crowd_cargo|cargo.datasource.driver=org.hsqldb.jdbcDriver|cargo.datasource.username=sa|cargo.datasource.password=|cargo.datasource.type=javax.sql.DataSource|cargo.datasource.jndi=jdbc/CrowdDS1" />
<property name="cargo.datasource.datasource2" value="cargo.datasource.url=jdbc:hsqldb:mem:crowd_cargo|cargo.datasource.driver=org.hsqldb.jdbcDriver|cargo.datasource.username=sa|cargo.datasource.password=|cargo.datasource.type=javax.sql.DataSource|cargo.datasource.jndi=jdbc/CrowdDS2" />
</configuration>
</cargo>
</target>
<target name="deploy" depends="cargostart"/>
</project>