ローカルリポジトリのライブラリを使用

ローカルリポジトリを見てくれない

サードパーティの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 個

MalformedInputException発生です。

/*
 * コ跑ョニ・ 2006/06/04
 *
 * TODO 、ウ、ホタク.、オ、??・ユ・。・、・・Υ??鵐ラ・・シ・ネ、鯤??ケ、ケ、・????。、リ・ク・罕鵐ラ:
 * ・ヲ・」・鵐ノ・ヲ - タ゚ト・- Java - ・ウ。シ・ノ。ヲ・ケ・ソ・、・・- ・ウ。シ・ノ。ヲ・??鵐ラ・・シ・ネ
 */

むむ、ソースを見ると化けてます。Linux文字コードデフォルトUTF-8でした。
EUCに設定してましたーー
ちょっとコードを変換してからやり直してみます。。。。

文字コードを変更して再度コンパイル

UTF-8に変更してコンパイルしてみました。

# 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が通りました!!