maven-assembly-pluginを使用する複数のMavenプロジェクトでは、2つのバイナリファイルをフォルダーにコピーする必要があります。
これらは、私のすべてのプロジェクトに共通する2つの元のファイルです。
procrun.exe
procrunw.exe
このファイルのセットを再利用したいのですが。それらは、JARやZIPファイルなどの依存関係から取得され、後でビルドプロセスの一部として解凍される可能性があります。そうすれば、後でバイナリをアップグレードすることを選択した場合、共通プロジェクトの新しいバージョンを作成して、依存関係を共通プロジェクトに変更することができます。これを行うもう1つの理由は、個々のプロジェクトでビルド関連ファイルの数を最小限に抑えたいためです。
ここで注意が必要なのは、依存関係を解凍するときに各ファイルの名前を変更する必要があることです。たとえば、プロジェクトAの場合、次のようにファイルをコピーする必要があります。
bin / projectA_procrun.exe
bin / projectA_procrunw.exe
部分的な解決策
私の部分的な解決策は、これら2つのファイルを各Mavenプロジェクトのsrc / main / build/binフォルダーに置くことです。
理想的ではありませんが、少なくともこのページで説明されているように、一般的なアセンブリファイルの内容を再利用することはできます。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>my_assembly</id>
<formats>
<format>zip</format>
</formats>
<files>
<file>
<source>src/main/build/bin/procrun.exe</source>
<outputDirectory>bin</outputDirectory>
<destName>${myexecutable.name}.exe</destName>
</file>
<file>
<source>src/main/build/bin/procrunw.exe</source>
<outputDirectory>bin</outputDirectory>
<destName>${myexecutable.name}w.exe</destName>
</file>
</files>
<!-- Additional details ommitted -->
</assembly>
失敗した試行
アセンブリのoutputFileNameMapping属性では、アーティファクトの名前を変更できますが、アセンブリ内のファイルの名前を変更することはできません。
失敗した試みの1つは、各ファイルを個別のMavenアーティファクトとして登録することでした。そうすれば、各アーティファクトに対応するセクション内でoutputFileNameMappingを使用できます。
私が遭遇した問題は、Nexusが「exe」をアーティファクトとして持つことを好まないということです。
質問
パーシャルを強化するか、別のアプローチを採用することによって、期待される結果をどのように達成できるかについてのアイデアはありますか?