Maven cargo plugin をセットアップしようとしています。次の要件があります。
- トムキャット6
- カスタム server.xml
- カスタム context.xml
- tomcat libにデプロイされたlog4j jar
- マシンに Tomcat がインストールされていない場合はインストールします
- maven のインストール ライフサイクル フェーズに関連付けて、war を展開し、コンテナーを再起動します。
- 展開された戦争を ROOT.war にする
私は次に従いました: http://www.java-tutorial.ch/maven/maven-tomcat-deployment-using-cargo。これは私が望む完全な機能セットではなく、完全には機能しません。これは私が得るものです:
Can't load log handler "4host-manager.org.apache.juli.FileHandler"
[INFO] [talledLocalContainer] java.lang.ClassNotFoundException: 4host-manager.org.apache.juli.FileHandler
そして、 mvn install が戻ってきたら、 ps -ef を実行しますが、Tomcat プロセスはありません。
また、war を ROOT.war にコピーしますが、古い ROOT/ ディレクトリは置き換えられないため、新しい ROOT.war は実際にはデプロイされません。
「まだそこにない場合はTomcatをインストールする」という要件については、これは完全に簡単なように思えますが、
<zipUrlInstaller>
<url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip</url>
<extractDir>/usr/local</extractDir>
</zipUrlInstaller>
mvn cargo:install を実行すると、以下がスローされます:
org.codehaus.cargo.container.ContainerException: Failed to get container installation home as the container has not yet been installed. Please call install() first.
これは不可解です。最初にインストールを呼び出す必要がありますが、私はインストールを呼び出しています。
アイデア?