4

私のMavenプロジェクトでは、antプラグインが複数のwarファイルを生成し、それらをすべて同じ成果物に添付したいと考えています。私はこのようにbuild-helper-maven-pluginを試しました

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>build-helper-maven-plugin</artifactId>
 <version>1.7</version>
 <executions>
 <execution>
 <id>attach-artifacts</id>
 <phase>package</phase>
 <goals>
  <goal>attach-artifact</goal>
 </goals>
 <configuration>
 <artifacts>
<artifact>
  <file>${project.build.directory}/*.war</file>
  <type>war</type>
</artifact>                 
</artifacts>
</configuration>
</execution>
</executions>
</plugin>

Ant プラグインは動的であるため、各 war ファイルを個別に指定したくありません。それを行う方法はありますか?

ありがとう、

4

1 に答える 1

1

単一のアーティファクトにワイルドカードを提供することは、ビルド ヘルパー プラグインではサポートされていないようです (サポートされている場合は、リソース プラグインで使用される include /excludes 構成が使用される可能性があります)。

Maven を使用することを選択した場合は、ビルドを「Maven 方式」に調整するのが最善であることを学びました。

この場合、ant war プラグインを使用しないようにビルドを修正し、代わりに war ファイルごとに個別のモジュール (サブプロジェクト) を使用してマルチモジュール ビルドを作成する必要があります。

あるいは、過去に、戦争がすべて単一の tar/gz ファイルにまとめて出荷されるMaven Assembly プラグインを介して行っているようなことを達成しました。次に、アーカイブ (各戦争を含む) がビルドに添付されます。

「web アプリ」モジュールに「pom」のアーティファクト タイプを持たせることをお勧めします。アセンブリ プラグインはアーカイブを最終ビルドに添付します。

詳細については、Sonatype のオンライン ブック ( http://www.sonatype.com/Support/Books ) が優れたリソースであることがわかりました。

于 2012-08-15T16:11:21.883 に答える