jarの中にjarを含める(jar in jar)

こんにちわ、猫好きリーマンのほげPGです。

今回はmavenを使ってjarの中にjarを含めた実行可能jarの作成を紹介します。

 

・Spring boot

これで解決なのですが、Spring bootでないプロジェクトで対応したいので不採用です。

 

・eclipseのエクスポート(実行可能jarを必要なライブラリをパッケージで作成)

これで解決なのですが、mavenで作りたかったので不採用です。

 

・mavenでeclipseのエクスポートと同様のことをする

紹介サイト(https://libraries.io/github/raisercostin/eclipse-jarinjarloader)を見つけたので、実際に試して確認してみます。

 

1、Javaプロジェクト作成

以下の構成で作成します。

HogeJar
│  pom.xml
└─src
    └─main
        ├─java
        │  └─sample
        │          HogeMain.java
        └─resources
                log4j.properties

 

HogeMain.java

 

log4j.properties

 

pom.xml

 

2、ビルド

以下コマンドでビルドします。

mvn clean package

 

作成されたhoge-jar.jarの中身

※lib/にjarが3つあるのが分かります。

 

3、実行結果

 

4、参考文献

https://libraries.io/github/raisercostin/eclipse-jarinjarloader

 

プロジェクト一式

HogeJar.zip

 

今回はここまで。