MavenリポジトリにないローカルjarをPom.xmlに書く方法
MavenセントラリポジトリにないローカルjarファイルをPom.xmlに書く方法のです。
以前、「Mavenプロジェクトにローカルjarファイルを追加する方法」で紹介した system スコープを使った方法では、mvn install するとWARNINGが発生して jar ファイルが含まれないということがわかりました。
具体的には、「Spring BootでORACLEデータベースに接続する方法」で紹介した ojdbc7.jar が mvn install で war ファイルに含まれないといった事象がおこりました。そのため war ファイルを Tomcat にデプロイしたら Web アプリが起動しないということになりました。
今回は warファイルにローカルjarを含める方法 をまとめておきます。
Pom.xmlの編集
ライブラリを指定します。この時、scope と systemPath は指定しません。
version は 12.1.0 と ORACLE の利用バージョンを適用していますが、なんでもいいです。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0</version>
</dependency>
次に、maven-install-plugin を設定します。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/lib/ojdbc7.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
mvn clean もしくは、Eclipse の[実行(Run As)]-[Maven Clean]を実行すれば、maven-install-plugin が動作します。Eclipseを使ってるので、ローカルリポジトリに ojdbc7.jar 関連のリポジトリが出来上がりました。
コマンドの場合は、下記で OK かと。
mvn install:install-file -Dfile=ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0 -Dpackaging=jar
- -Dfile: Jarファイルへのパス
- -DgroupId: グループID
- -DartifactId: アーティファクトID
- -Dversion: バージョン
- -Dpackaging: jar
mvn install もしくは、Eclipse の[実行(Run As)]-[Maven Install]を実行して war ファイルを確認しましょう。
おおお、ちゃんと入っていますね^^
参考サイト
まとめ
出来上がった war ファイルを Tomcat にデプロイして動作確認したところ、正しく動作しました。ふう、一件落着ですね^^
おつかれさまでした。