複数のMavenモジュールに基づいてWebアプリケーションを構築しようとしています。モジュールの1つは "web"と呼ばれ、tomcat7-maven-pluginを使ってtomcatに展開すべきwarをパッケージ化することは、単独で責任があります。複数のモジュールが1つの戦争を構築するtomcat-maven-plugin
- 共通
- 永続
- 持続包埋
- サービス
- 残り
- ウェブ
それらのすべてです:私は私のparent.pomで定義されたモジュールを、次のしています1つのWebアプリケーション戦争に組み合わされて、Webモジュールは戦争に包装を設定しました。問題は、mvn tomcat7:redeployを実行すると、私のwarファイルが各サブモジュール(およびmain-parent-module)に対して繰り返し配備され、7つの配備につながることです。明らかに、これはどのようにすべきかではありません。
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<ignorePackaging>true</ignorePackaging>
<url>http://localhost:8080/manager/text</url>
<server>tomcatServer</server>
<path>/webapp</path>
<warFile> /home/username/dev/maven-multimodule-example/web/target/maven-multimodule-example-1.0-SNAPSHOT.war</warFile>
<username>admin</username>
<password>password</password>
</configuration>
</plugin>
あなたが見ることができるように、私は$ {プロジェクトを使用することはできませんので、私は、解決策ではなく、ハックではありませんwarFileを(指定する必要があります。tomcat7-mavenの-プラグイン設定は、現在、このようになります。 .basedir}それは動作させるためにサブモジュール - dirにつながる)。
しかし、mvn tomcat7:を実行してWebアプリケーションを実行すると、他の非ビルドモジュールがプラグインによってスキップされているため、かなりうまく見えます。
warファイルを1回だけ展開する正しい方法をプラグインに設定するにはどうすればよいですか?
正確にtomcatプラグインを設定しましたか?どのPOM、POMのどのセクションですか? – dunni
親親pomに – Daniel