ビルド周りはいつも新しいプロジェクトやる時に、”アレどうやんだっけ…?”っていう。
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>
アスキー・メディアワークス
売り上げランキング: 70,734
コメント