あなたはjarファイルにしたい名前を与え、そしてはは「ジャーとの依存関係」接尾辞を避けるために、偽でなければなりませんappendAssemblyIdことを指定するfinalNameプロパティを指定することができます。
意志の出力以下の構成
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>test</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
アップデート「test.jar」と呼ばれるjarファイル:内蔵の記述は動作しません使用して、あなたのコメントに基づいて、。最近のバージョンのアセンブリプラグインでは、これがバグだと思っています。分類子のサポートを削除しましたが、組み込み記述子を使用するとidが固定されてしまいます。
回避策として、jar-with-dependencies記述子で使用されているアセンブリ記述子をコピーし、idを変更することができます。あなたは地域full.jarの名前を持っている必要がある場合、あなたはとして地域とアセンブリIDとしてfinalNameを指定することができるように
この例では、finalNameに追加されたアセンブリのIDにつながります完全。これにより、region-full.jarという名前のファイルが作成されますが、添付ファイルとしてMavenリポジトリにインストールされ、フルが分類子として使用されます。このIDが他のアセンブリのIDと異なる限り、衝突はないはずです。
pom設定は次のようになります。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/jar-assembly.xml</descriptor>
</descriptors>
<finalName>region</finalName>
</configuration>
</execution>
</executions>
</plugin>
と、このようなSRC /メイン/アセンブリ内のjar-assembly.xml:
<assembly>
<id>full</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
</fileSet>
</fileSets>
</assembly>
ああ、appendAssemblyId、どのように私はあなたを欠場でした私のために働きました。ありがとう! –
その精巧なリッチ作業。本質的に、私は2つのクラシファイアアーチファクトを保存する必要があります。 appendAssemblyIdをオンにして、私は3つのアーティファクト、1つはクラシファイアなし、クラシファイアのバージョン、およびjar-with-dependenciesバージョンを持っていました。 appendAssemblyIDをオフにすると、uber jarが非分類子バージョンにインストールされます。私はこれらの人に地域+全面的なベースの分類子を使用させる必要があります。残念ながら、クラシファイアタグを追加しても機能しません。 –
* appendAssemblyId *を* false *に設定するだけでジョブが終了しました。 正規の最終的な名前を書き換えずにそのまま使用できます。 –