2017-02-13 1 views
4

Maven shade pluginを起動して(すべての依存関係を持つ)uber-jarをビルドする方法を考え出しました。 (目標 "パッケージ"のためにMaven shadeプラグインが自動的に呼び出されない

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.4.3</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

し、「MVNパッケージ」: はグーグル可能な(多数の例を含む、とMavenのドキュメント)私が見つけた情報のほとんどは、私がしなければならないすべてはのpom.xmlにプラグインが含まれていることを示唆していますまたは最終的に "パッケージ"を呼び出す他の目標)は自動的にこのプラグインを起動します。

実際にプラグインを呼び出す唯一の方法は、「mvn package shade:shade」を実行することです(これはconfig-drivenビルドの目的を無効にするようです)。 Eclipse(STS Version:3.8.2.RELEASE)、またはコマンドライン(Apache Maven 3.3.9)からMavenを実行しても同じ結果が得られます。

何か不足していますか?

UPD:解決済み、GauravJの回答を参照してください。

+1

あなたの完全なPOMファイルを表示してください...私はあなたが間違った場所にそれを持っていると仮定します.. – khmarbaise

+0

私は喜ぶでしょう - しかし、pom.xmlはかなり全体的にここに含まれています。 pom.xmlの内容が間違った場所にあることにどう関係していると思いますか?場所はかなり標準的に見えます(Eclipseはプロジェクトのルートの下の通常の場所に配置します)。 – tomilchik

答えて

6

私はあなたの問題を再現することができました。あなたのpom.xmlでは、おそらくあなたの問題を解決します

<build> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.4.3</version> 
     <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
      <goal>shade</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
</build> 

この

<build> 
<pluginManagement> 

    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.4.3</version> 
     <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
      <goal>shade</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 

</pluginManagement> 
</build> 

代わりに、プラグインは以下のように定義しておく必要があります。

+0

それがそれを解決しました。ありがとう! – tomilchik

+0

絶対に!しかし、それを行うオプションを参照してください。上向きに投票しようとしましたが、そのことは反映されていません。 ?? UPD:灰色のチェックボックス:) UX ... – tomilchik

+1

面白いのはMac OSXで、後で私のために働いた。 を囲んで陰影をつけても機能しませんでした。 – ChaitanyaBhatt

関連する問題