ローカルリポジトリのライブラリを使用
ローカルリポジトリを見てくれない
サードパーティのJarをインストールで紹介した方法の後に、プロジェクトをcompileしてみました。
すると、
Downloading: http://repo1.maven.org/maven2/SAMPLE/backport-util-concurrent/2.0.1/backport-util-concurrent-2.0.1.pom [WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2)
と、セントラルリポジトリからダウンロードしようとしています。
なぜ、ローカルリポジトリを見に行ってくれないんでしょう・・・
pomファイルがない
ローカルリポジトリに保管されている他のライブラリは、
# ls log4j-1.2.9.jar log4j-1.2.9.jar.sha1 log4j-1.2.9.pom log4j-1.2.9.pom.sha1
と、jarファイルとpomファイルがあるのですが、
# ls backport-util-concurrent-2.0.1.jar
pomファイルがないです。。
これが原因なのでしょうか?
POMファイル作成
[Guide to installing 3rd party JARs:title=Guide to installing 3rd party JARs]で紹介されているコマンドでは、pomファイルが生成されませんでした。
ここで使用しているinstall-pluginについて調べてみると、
Maven Install Pluginで紹介されているGOALを見てみると、generatePom(Optional)というものがありました。
これを追加して、ローカルリポジトリに格納してみます。
mvn install:install-file -Dfile=/root/work/mavenproject/JARFILE/backport-util-concurrent-2.0_01.jar -DgroupId=CT-TEPCO -DartifactId=backport-util-concurrent -Dversion=2.0.1 -Dpackaging=jar -DgeneratePom=true
- DgeneratePom=trueを追加しました。
すると、
# ls backport-util-concurrent-2.0.1.jar backport-util-concurrent-2.0.1.pom
pomファイルが生成されました。
Compile実行
ライブラリのリモートリポジトリからのダウンロードがなくなりました!
ローカルを参照しにいっているようです。
やはりpomファイルが必要だったようですね。
ただ、
[ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Compilation failure Failure executing javac, but could not parse the error: エラー: ソースファイルの読み取りエラーです: sun.io.MalformedInputException エラー 1 個
/* * コ跑ョニ・ 2006/06/04 * * TODO 、ウ、ホタク.、オ、??・ユ・。・、・・Υ??鵐ラ・・シ・ネ、鯤??ケ、ケ、・????。、リ・ク・罕鵐ラ: * ・ヲ・」・鵐ノ・ヲ - タ゚ト・- Java - ・ウ。シ・ノ。ヲ・ケ・ソ・、・・- ・ウ。シ・ノ。ヲ・??鵐ラ・・シ・ネ */
むむ、ソースを見ると化けてます。Linuxは文字コードデフォルトUTF-8でした。
EUCに設定してましたーー
ちょっとコードを変換してからやり直してみます。。。。
文字コードを変更して再度コンパイル
# mvn compile [INFO] Scanning for projects... [INFO] ---------------------------------------------------------------------------- [INFO] Building ct-mpt-1 [INFO] task-segment: [compile] [INFO] ---------------------------------------------------------------------------- [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:compile] Compiling 1 source file to /root/work/mavenproject/sample/target/classes [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 seconds [INFO] Finished at: Fri Jul 07 11:14:35 JST 2006 [INFO] Final Memory: 5M/16M [INFO] ------------------------------------------------------------------------
おお〜〜!!
Compileが通りました!!