Mavenのassemblyプラグインで依存するヤツらをゴッソリまとめてjarファイルを作る

ビルド周りはいつも新しいプロジェクトやる時に、”アレどうやんだっけ…?”っていう。
Mavenのassemblyもその一つ。いちいちググるのもめんどくさいのでブログにメモ。
# だってググって出てくるページ、英語ばっかりなんだもん…
 
pom.xmlの中でbuild⇒plugins⇒pluginでpackageを叩く時にassemblyが呼ばれるように定義します。

 
↓のような感じでassembly用のファイルを作ってあげて、

 
↓中身は本家サイトのjar-with-dependenciesを参考に(xxを除く~とかってのはその時で)
Maven Assembly plugin – Predefined Assembly Descriptors

 
これでIntelliJのMaven Projectからpackageをボチボチってやれば、

  
↓のように依存のあるヤツらがゴッソリはいったjarファイルが出来上がります。

 
あー、でも、ビルドしてみると、、↓こんな事を言われてたりしますね。笑

[WARNING] Configuration options: 'appendAssemblyId' is set to false, and 'classifier' is missing.

これは、出来上がるファイル名が長たらしかったのでpom.xmlの中で、
appendAssemblyId を falseにして、finalNameでjarファイルの名前を定義したら怒られた感じ。
でも↓みると Optional Parameters の classifier は Deprecated って書いてあるんだよぁ…。
Maven Assembly plugin – assembly:assembly
んま、よく分からないけど、時間無いので今日はこの辺で。笑
 
あ、てか、今回は諸事情でMavenサイトになくて、いかにも独自なライブラリ(jar)を使わなければ
ならなかったのですが System Dependencies なんてあったんですね。
プロジェクトにlibディレクトリとか作ってそこに置いて↓こんな風にMaven管理出来ちゃう的な。

<dependency>
  <groupId>com.shinodogg</groupId>
  <artifactId>Hoge</artifactId>
  <version>99.9</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/hoge.jar</systemPath>
</dependency>

 

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集
Srirangan
アスキー・メディアワークス
売り上げランキング: 70,734

コメント

タイトルとURLをコピーしました