GitHub Actions + Maven + Javaで、独自のライブラリを利用する
GitHub ActionsでビルドしているJavaで、Mavenのセントラルリポジトリで公開されていないjarファイルを利用する機会がありました。
ローカルで開発しているときはpom.xmlにsystemPathを書いていたのですが、GitHub Actions側でのビルド時にライブラリを参照できませんでした。
※プロジェクト直下のlibフォルダにocijdbc11.jarを格納しておきます。
※プロジェクト直下のlibフォルダにocijdbc11.jarを格納しておきます。
<pre> <scope>system</scope> <systemPath>${project.basedir}/lib/ocijdbc11.jar</systemPath> </pre>参照できなかったときのエラー
[WARNING] 'dependencies.dependency.systemPath' for com.oracle:ocijdbc11:jar should not point at files within the project directory, ${project.basedir}/lib/ocijdbc11.jar will be unresolvable by dependent projects @ line 246, column 16
以下のように、mvn installでローカルリポジトリにインストールすることで、対応することができました。
- name: Install ocijdbc11.jar run: mvn install:install-file -Dfile=lib/ocijdbc11.jar -DgroupId=com.oracle -DartifactId=ocijdbc11 -Dversion=11.2.0.4 -Dpackaging=jar
pom.xmlにはsystemPathではなく、パッケージ名&ライブラリ名を記入します。
<dependency> <groupId>com.oracle</groupId> <artifactId>ocijdbc11</artifactId> <version>11.2.0.1.0</version> </dependency>
ビルド成功しました!