Maven2の小技 ローカルのjarを依存ライブラリに含める

Mavenリポジトリで提供されていない3rdパーティのjarを、依存ライブラリに含める場合は、通常、先にローカルリポジトリにjarをインストールしておく必要があります。

mvn install:install-file -Dfile=<jarまでの絶対パス>       \
  -DgroupId=<group-id> -DartifactId=<artifact-id>         \
  -Dversion=バージョン -Dpackaging=jar -DgeneratePom=true


チームで開発する場合は、各自が上記の操作を実行する必要があり、結構面倒です。


そこで、以下のようにpom.xmlを記述し、jarファイルをプロジェクトと一緒にバージョン管理しておくことで、依存関係を解決できます。

<dependency>
    <groupId>my-group</groupId>
    <artifactId>my-artifact</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/my-artifact.jar</systemPath>
</dependency>


本来、systemスコープは、JDKのライブラリを参照するときに利用するそうなので、多少裏ワザ的な方法ですが、依存ライブラリの管理を簡単にするには便利です。