ハマログ

株式会社イーツー・インフォの社員ブログ

GitHub Actions + Maven + Javaで、独自のライブラリを利用する

GitHub ActionsでビルドしているJavaで、Mavenのセントラルリポジトリで公開されていないjarファイルを利用する機会がありました。
ローカルで開発しているときはpom.xmlにsystemPathを書いていたのですが、GitHub Actions側でのビルド時にライブラリを参照できませんでした。
※プロジェクト直下の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>
ビルド成功しました!

  kaneko tomo   2020年3月28日


関連記事

Excelで印刷するときに全シートにプリンタ設定を反映させる方法のページを見つけました

Excelで全シートを選択して両面印刷にしても最初のシートしか両面印刷してもらえ…

LaravelでのSymfony脆弱性対応について(CVE-2015-2308)

Symfonyのコードインジェクション(CVE-2015-2308: Esi C…

Laravel出力ログファイルの切り替え(またはローテーション)

Laravelの標準ログ(storage/logs/laravel.log)は単…


← 前の投稿

次の投稿 →