実行を無効にします:デフォルト-JAR
-
29-09-2019 - |
質問
Maven Assemblyプラグインを使用してJARファイルを梱包しています。しかし、私が走るとき mvn package
, 、Mavenは常に[JAR:JAR {execution:default-jar}]をトリガーして、デフォルトのJARファイルを作成します。したがって、2つのJARファイル(1つはアセンブリプラグインによって作成され、もう1つはMaven Jarによって作成されたものが作成されません。実行をオフにするにはどうすればよいですか:default-jar。
私のpom.xmlで、私は次のように使用しています<packaging>jar</packaging>
. 。私はそれを変えたくありません <packaging>pom</packaging>
.
解決
(...)それで、2つのJARファイル(1つはアセンブリプラグインによって作成され、もう1つはMaven Jarによって作成されたものが作成されません。
あなたはかなり複雑なことをしているように見えます。たぶん、メイベンはあなたの場合の適切なツールではありません。
実行をオフにするにはどうすればよいですか:default-jar。
設定できます <phase>
のような未知のものへの対応する実行の none
:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- this is used for inheritance merges -->
<phase>package</phase>
<!-- append to the packaging phase. -->
<goals>
<goal>single</goal>
<!-- goals == mojos -->
</goals>
</execution>
</executions>
</plugin>
これは、アセンブリのように、インストールされる何か他のものを提供している限り機能しているようです(私はテストしただけです install
)。しかし、もちろん、これはハックです。
他のヒント
質問への直接的な答えではありませんが、によって作成された瓶を除外することができます メイブン・ジャー 使用 <useProjectArtifact>false</useProjectArtifact>