maven2.2.1にてエラーが発生している
maven installなどのコマンドを実行すると、次の様なエラーが発生している。
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Compilation failure Failure executing javac, but could not parse the error: エラー:%HOME%\.m2\repository\javax\jms\jms\1.1\jms-1.1.jar の読み込みエラーです。error in opening zip file エラー:%HOME%\.m2\repository\com\sun\jdmk\jmxtools\1.2.1\jmxtools-1.2.1.jar の読み込みエラーです。error in open ing zip file エラー:%HOME%\.m2\repository\com\sun\jmx\jmxri\1.2.1\jmxri-1.2.1.jar の読み込みエラーです。error in opening zip file エラー 3 個
エラーメッセージを読む限り、jarファイルが読み込めていない様に見える。
そこで、ローカルリポジトリ内の実際のファイルを確認すると、それぞれ1kbにも満たないjarファイルが出来ている。テキストエディタに放り込んでみると
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="http://download.java.net/maven/1/javax.jms/jars/jms-1.1.jar">here</a>.</p> <hr> <address>Apache Server at maven-repository.dev.java.net Port 443</address> </body></html>
とある。
どうやら、セントラルリポジトリからは、HTTP 301 が返されているのだが、maven側で上手く解釈出来ていないようだ。
解決策を求めて、「maven jms jmxtools」でgoogle先生に聞いてみると、
SUN Maven(2) repo changes? JMX, JMS, Mail, JMXTOOLSや、Permament move (error 301) not handled properly by Mavenが見つかった。
どうやら、公式バグらしい。割と最近投稿差れていて、まだ解決されていないようだ。
差し当たって、上手く動かないと困るので、個別にダウンロードする必要がある。
以下は、それぞれのリンク場所。
◆jms.jar
http://java.sun.com/products/jms/docs.html
「Download the version 1.1 API Documentation, Jar and Source」から
jms-1_1-fr-apidocs.zip
◆jmxtools.jar、jmxri.jar
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp
「JMX 1.2.1 Reference Implementation」から
jmx-1_2_1-ri.zip
2つのファイルをダウンロードして、それぞれのファイルリネーム後、ローカルリポジトリに配置するときちんとエラーなく実施することができた。
バグが解消されることを待つしかいないなー。