2012-10-09 9 views
5

私はMavenアセンブリプラグインを使用しています。私のpom.xmlでは、pakagingタイプ:jarと私はmaven jarプラグインを使用しません。mavenでデフォルトで作成されたjarを削除します

私はmvn cleanパッケージを実行するたびに、2つのjarファイルを作成します.1つはMavenアセンブリから、もう1つはデフォルトで(パッケージタイプ= jarのために)作成されます。アセンブリプラグインで作成されたjarファイルだけを残したいと思います。どうやってするか?

+1

デフォルトで作成されたもの(maven-jar-plugin)を使用しないのはなぜですか? – khmarbaise

答えて

12

あなたは理由があるかもしれませんが、私は、それが構築され、展開されているデフォルトのjarをスキップするのは良い解決策であるとは思っていません。

ここでは、どのようにしてデフォルトのjarをビルドするのを無効にできるかを示します。

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.3</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <id>make-assembly</id> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <!-- some configuration of yours... --> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <executions> 
       <execution> 
        <id>default-jar</id> 
        <!-- put the default-jar in the none phase to skip it from being created --> 
        <phase>none</phase> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

ありがとうmaba。できます。私のjarファイルには、他のjar、xml設定ファイルを内部に埋め込む必要があります。それが私がMavenアセンブリを使用する理由です(私がMaven Jarがそれを手助けできるかどうかはわかりません)。デフォルトで作成されたjarファイルは、(埋め込まれた他のファイルがないために)役に立たないためです。だから私はそれを作成して停止することを好む。そして、maven-assemblyでjarファイルを作成するだけです。 – David

+1

同じ手順を実行しましたが、私にとってはデフォルトのjarファイルがまだ作成されています。 –

関連する問題