Grailsのバージョンを 2.2.2 から、2.3.4 に上げた時に以下のようなエラーが発生
1 2 3 4 5 6 7 8 |
Error Resolve error obtaining dependencies: Failed to read artifact descriptor for xalan:serializer:jar:2.7.1 (Use --stacktrace to see the full trace) Error Resolve error obtaining dependencies: Failed to read artifact descriptor for javax.servlet:javax.servlet-api:jar:3.0.1 (Use --stacktrace to see the full trace) Error Resolve error obtaining dependencies: Failed to read artifact descriptor for javax.servlet:javax.servlet-api:jar:3.0.1 (Use --stacktrace to see the full trace) Error Resolve error obtaining dependencies: Failed to read artifact descriptor for javax.servlet:javax.servlet-api:jar:3.0.1 (Use --stacktrace to see the full trace) Error Resolve error obtaining dependencies: Failed to read artifact descriptor for javax.servlet:javax.servlet-api:jar:3.0.1 (Use --stacktrace to see the full trace) Error Failed to read artifact descriptor for xalan:serializer:jar:2.7.1 |
ネットワークの影響か必要なファイルが用意できないみたい。
ローカルの maven レポジトリに必要なファイルを入れてあげたら直った。
${HOME}/.m2/repository がローカルの maven リポジトリ
(標準の BuildConfig.groovy で、 mavenLocal() を使っているなら)
${HOME}/.m2/repository/xalan/serializer/2.7.1/jar/
に
serializer-2.7.1.jar
をいれてあげたらOKだった。
javax.servlet:javax.servlet-api:jar:3.0.1
のほうは特になにも用意しなくてOKだった。(いまの所)
ちなみに、 ${GRAILS_HOME}/lib に grails に必要なファイルがある。
今回のようにネットワークの関係で依存関係が解決できない時は、
${GRAILS_HOME}/lib/ を、そのまま ${HOME}/.m2/repository/ に持ってきてもいいと思う。
根本的に解決した
Proxy 環境だったが、2.3.x 用でも proxyの設定をし直すとよい。
まず、作業ディレクトリから抜ける。 greils のアプリがあるディレクトリから抜ける。
これをしないと、grails add-proxyや、 grails set-proxy でもエラーになる。
1 2 3 |
$ cd .. |
そこで、 新しい名前のプロキシをセットする
1 2 3 4 |
$ grails add-proxy clientGrailsFor23x --host=proxy-server --port=4300 --username=guest --password=gues |
新しく設定した、プロキシを使うようにセットする
1 2 3 |
$ grails set-proxy clientGrailsFor23x |