Mavenプロジェクトで、使用する依存ライブラリも含めてJarファイル化したい。
ZIPやTARへの圧縮処理をするJarファイルを作成するために、apache-common-compressを使う。 Jarファイル化しても、クラス定義がロードされていないというエラーが出力されてしまう。 そのため、apache-common-compressを含めてJarファイル化したい。
Maven Assembly Pluginを導入し、依存ライブラリも含めてJarファイル化する。 以下手順となる。
- pom.xmlに以下を記載する。
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<!-- NOTE: We don't need a groupId specification because the group is
org.apache.maven.plugins ...which is assumed by default.
-->
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
[...]
</project>
- mavenでパッケージを作成
maven package
- targetディレクトリ以下のXXXX-jar-with-dependencies.jarファイルを使用する。
java -jar XXXX-jar-with-dependencies.jar