maven-assembly-plugin を使用して zip ファイル アセンブリを生成しようとしています。私が残した問題は2つだけで、構成だけで解決できるかどうか疑問に思っていますが、最後の手段として、maven-assembly-pluginを拡張する独自のmavenプラグインを作成することも検討しています
不足している 2 つのピースは、
インクルード パターンに一致する各依存関係を独自の に配置し
outputDirectory
ます。
これは私のアセンブリの関連部分です<moduleSet> <binaries> <dependencySets> <dependencySet> <outputDirectory>module</outputDirectory> <useTransitiveDependencies>false</useTransitiveDependencies> <includes> <include>com.test.feature.*:*:jar</include> </includes> </dependencySet> </dependencySets> <unpack>false</unpack> </binaries> </moduleSet>
com.test.feature.*
これにより、moduleというフォルダーにgroupId を持つモジュールのすべての依存関係が配置されます。これは私にとってはうまくいきますmodule/ com.test.feature.firstModule.jar com.test.feature.secondModule.jar
私が必要としているのは、一致する依存関係のそれぞれを独自のフォルダーに移動する方法です。うまくいけば、フォルダー名は依存関係の artifactId になります (必須ではありません)。
firstModule/ com.test.feature.firstModule.jar secondModule/ com.test.feature.secondModule.jar
for each 依存関係を作成できることはわかっています
dependencySet
が、これを可能な限り将来的に保証することを目的としています。それぞれに 1 つ作成する場合は、将来、com.test.feature の下にあるすべての新しいアーティファクトに対して新しいセットを作成することを覚えておく必要があります。私の最大の (しかし盲目的な) 希望は、依存関係ごとに置き換えられるある種のプロパティ ${dependencyName} です。outputDirectory
依存関係とそのフォルダーに関する情報を含むxmlファイルを生成し
ます<module dir="firstModule" version="1.0-SNAPSHOT /> <module dir="secondModule" version="2.1-SNAPSHOT />
生成された xml は、zip アセンブリの一部になります。
これら 2 つのこと、またはそのうちの 1 つをバニラ アセンブリ プラグインで実行できますか? そうでない場合、別のプラグインを拡張するプラグインを作成することは可能ですか? プラグインをゼロから作成するためのチュートリアルを見たばかりで、標準プラグインの 1 つに機能を追加するだけではありません。