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ファイルとか読み込ませるのにも使えそうです。
コメントを書く