私はMavenアセンブリプラグインを使用して製品のWARを構築しています(以前はAntによって行われました)。Apache Antには多くの残り物があるため、ビルドプロセスを容易にする特定の要件が1つあります。それは、依存関係の特定のサブフォルダー(jarまたはwarリソースなど)を特定のターゲットサブフォルダーにコピーすることです。
これまでのところ、アセンブリ記述子でを指定できることを学びました<outputDirectory>
が、?を指定する機会はあります<sourceDirectory>
か?たとえば、このルールを1つのWARまたはJARタイプの依存関係に適用したいと思います。
アセンブリ記述子フラグメントのこの例を考えてみましょう(100%正確ではありません):
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>my-specific-dependency:war</include>
</includes>
<outputDirectory>WEB-INF/myresources</outputDirectory>
</dependencySet>
my-specific-dependency:warからWEB-INF/myresourcesにいくつかのフォルダーをコピーしたいと言いたいです。
注意:アーティファクトの内部を知る必要がないため、これはあまり正しい要件ではないことを認識しています。正しい方法は、アーティファクト全体をターゲットディレクトリに抽出することを宣言することです(宣言型のアプローチが必要です)。