質問

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>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top