Mavenのcentralリポジトリからライブラリを上手く持ってこれない時に強制的に読み込ませる方法

Mavenのcentralリポジトリからライブラリを上手く持ってこれない時に強制的に読み込ませる方法

Mavenのcentralリポジトリからライブラリを上手く持ってこれない時に強制的に読み込ませる方法

DB2ドライバを使いたかったからpom.xmlで以下の通り設定したらエラーが出た。

Missing artifact」的なやつ!
pom.xmlで指定したライブラリの取得に失敗しとる!

<!-- https://mvnrepository.com/artifact/com.ibm.db2.jcc/db2jcc4 -->
<dependency>
    <groupId>com.ibm.db2.jcc</groupId>
    <artifactId>db2jcc4</artifactId>
    <version>10.1</version>
</dependency>

ここの通り指定したんだけど上手くjarを持ってきてくれない・・・
Maven ibm DB2 driver

どうやらサードパーティ製のjarファイルのため、mavenのセントラルリポジトリから上手く読み込んでくれないらしい・・・?
でもそれじゃあなんでセントラルリポジトリに<dependency>置いてあるねん!って思うけど。

ローカルの.m2ディレクトリの中に手動でダウンロードして置いて強制的に読み込ませてもいいけれど、
warファイルとかで固めた時に紐づいてくれない時があるとかなんとか。(先輩の話談

それも防ぐ意味で、解決策としては・・・
ローカルにjarファイルを落とし、強制的にmavenファイルとして読み込ませるコマンドを叩く

コマンドはこれ。
(DB2driver用です。ローカルにDLしたdb2jcc4.jarがC:\配下にある想定)


mvn install:install-file ^
    -Dfile=C:\db2jcc4.jar ^
    -DgroupId=com.ibm.db2.jcc ^
    -DartifactId=db2jcc4 ^
    -Dversion=10.1 ^
    -Dpackaging=jar ^
    -DgeneratePom=true

セントラルリポジトリから上手く持ってこれない場合だけじゃなくて、ローカルで作成したjarファイルとか読み込ませるのにも使えそうです。

mavenカテゴリの最新記事