Java プロジェクトをmvn install
実行すると、JAR ファイルが生成されます。ここまでは順調ですね。
その生成後、結果の JAR ファイルの名前を任意の拡張子の名前に変更したいと思います。たとえば、生成された結果の JAR が「Foo.jar」と呼ばれるとします。名前を「Foo.baz」に変更したいと思います。
これを可能にする魔法のプラグインの組み合わせを確認しようとしています。これまでのところ、このSO の回答に基づいて、次のことを試しました。
<project>
...
<build>
<finalName>Foo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<copy file="${project.build.directory}/${project.build.finalName}.jar"
tofile="${project.build.directory}/${project.build.finalName}.baz" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-instrumented-jar</id>
<phase>verify</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.build.finalName}.baz</file>
<type>baz</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
だから、2つのこと。まず、上記のプラグインは実際には何もしていないようです。また、2 番目のプラグインが何を達成しようとしているのかについても明確ではありません。
また、上記のプラグインとは別にアセンブリでこれを実行しようとしましたが、うまくいきませんでした。私のアセンブリファイル(プラグインは完全にボイラープレートであるため、含まれていないことに注意してください):
<assembly xmlns="http://maven.apache.org/xsd/assembly"
xsi:schemaLocation="http://maven.apache.org/xsd/assembly-1.0.0.xsd">
<id>dist</id>
<formats>
<format>jar</format>
<format>dir</format>
</formats>
<files>
<file>
<source>${project.build.directory}/${project.build.finalName}.${packaging}</source>
<outputDirectory>${project.build.directory}</outputDirectory>
<destName>${project.build.finalName}.baz</destName>
</file>
</files>
</assembly>
ただし、このアセンブリを実行しようとすると、次のような結果になりました: アセンブリの作成に失敗しました: アセンブリ アーカイブ dist の作成中にエラーが発生しました: zip ファイルにそれ自体を含めることはできません
だから、この時点で、私は途方に暮れています。約 1 時間のグーグル検索の後、ant スクリプトがこれに適しているという印象を受けましたが、それが機能しない理由を説明することはできませんでした。
どんな助けでも大歓迎です。