Cargo は従属 Maven モジュールから WAR を問題なく実行するため、Maven の jetty プラグインから Cargo プラグイン (cargo-maven2-plugin) に移行しています。Web アプリ内では、JNDI を介してすべての構成を外部化するために多大な労力を費やしました。これらの JNDI 定義は Web アプリ固有であるため、WAR の外部にある jetty-env.xml ファイルに配置されます。Jetty プラグインを使用して、このファイルを次のように指定しました。
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<jettyEnvXml>${basedir}/target/config/jetty-env.xml</jettyEnvXml>
</configuration>
</plugin>
Cargo プラグイン内でこれを指定するにはどうすればよいですか? これが私がこれまでに持っている構成です。もちろん、JNDI 構成がないために失敗します。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>jetty6x</containerId>
<type>embedded</type>
</container>
<configuration>
<deployables>
<deployable>
<groupId>com.mycompany</groupId>
<artifactId>my-war-module</artifactId>
<type>war</type>
<properties>
<context>/</context>
</properties>
</deployable>
</deployables>
</configuration>
<wait>false</wait>
</configuration>
<executions>
......
</executions>
</plugin>