====== Mavenに対応していないjarファイルをMavenのアーティファクトにする ====== {{tag>java maven}} Mavenに対応していない古いjarファイルをMavenのプロジェクトから参照したい場合、 この方法で古いjarファイルをMavenのアーティファクトにできる。 jarファイル名は、元のファイル名から''${artifactId}-${version}.jar''、''${artifactId}-${version}-sources.jar''、''${artifactId}-${version}-javadoc.jar''に変換される。想定する使い方だと、ファイル名が変わらないように''artifactId''と''version''を設定する。 参考のために''-sources.jar''と''-javadoc.jar''を含めているが、無ければ省略可。 そもそも''-sources.jar''があるのならソースを展開して普通のMavenプロジェクトにした方が良い。 ''compile''フェーズでjarからクラスファイルを取り出しているのは、マルチモジュール・プロジェクトの場合に''mvn compile''や''mvn test''でエラーが発生するため。 4.0.0 com.example oldlib 1.5.1 pom org.apache.maven.plugins maven-antrun-plugin 1.8 unpack-artifacts compile run attach-artifacts package run ''packaging''を''pom''にしないとビルドに失敗する。 アーティファクトとしてjarファイルをattachするだけなら、''org.codehaus.mojo:build-helper-maven-plugin''の''attach-artifact''ゴールでも同様のことができる。