はじめに
訳あって、ローカルリポジトリにも登録できないJarファイル(ローカルのフォルダにしか置けない)をMavenで
使用するための方法を知りたく、少し調べてみた。
そもそも、こんな使い方をすることはほぼないと思うのだが、レガシーなシステムをやっていることもあり、
ちょっと必要になったので調べた。
Mavenで使うには、systemPathを使う
使用したいJarファイルをdependenciesに追加する際に、scopeはsystemで設定し、systemPathにJarファイルの 配置先を設定するだけで依存関係のJarに追加してくれる。
<dependencies> <dependency> <groupId>aa</groupId> <artifactId>aa</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${basedir}/lib/test1-0.0.1-SNAPSHOT.jar</systemPath> </dependency> </dependencies>
groupId、artifactId、versionは適当に設定。
scopeタグは、systemを指定して、systemPathタグに対象のJarファイルのパスを指定。
ここではプロジェクト直下のlibフォルダにtest1-0.0.1-SNAPSHOT.jarを配置したので、そのJarファイルのパスを設定。
${basedir}は、pom.xmlファイルがあるフォルダまでのフルパスが設定された変数。
最後に
意外と簡単にローカルのJarファイルをMavenで扱うことが出来た。
これでレガシーなシステムの開発で途中からMavenの導入のハードルが少し下がるかなと思う。