GroovyでHTTPBuilderをGrabしようとしたらエラー
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.1' ) def http = new groovyx.net.http.HTTPBuilder('http://www.codehaus.org')
と実行すると
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during conversion: Error grabbing Grapes -- [download failed: commons-codec#commons-codec;1.3!commons-codec.jar, download failed: xerces#xercesImpl;2.8.1!xercesImpl.jar, download failed: xml-apis#xml-apis;1.3.03!xml-apis.jar] java.lang.RuntimeException: Error grabbing Grapes -- [download failed: commons-codec#commons-codec;1.3!commons-codec.jar, download failed: xerces#xercesImpl;2.8.1!xercesImpl.jar, download failed: xml-apis#xml-apis;1.3.03!xml-apis.jar] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) ...
となり、エラー。
次はGrapeコマンドでhttp-builderのインストールを試みる。
grape install org.codehaus.groovy.modules.http-builder http-builder 0.5.2
これもエラー
- problems summary ::
- :: WARNINGS
- USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
なんだかMavenのローカルリポジトリにそれぞれのjarが無いとかで怒られてる感じ。
無いと言われたjarを落として、然るべき場所に配置して、もう一回Grapeコマンド。
jarを落とす時に"mvn install hogehoge"みたいな感じで落としたかったけど、やり方わからなかったので、手動で落として配置。
$ Grape install org.codehaus.groovy.modules.http-builder http-builder 0.5.2
- loading settings :: url = jar:file:/Users/****/Documents/groovy-1.8.6/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
- resolving dependencies :: caller#all-caller;working
上手く行ったようだ。
んで、元のコード動かしたら特にエラーも出ずに動いてくれた。
GroovyやGradleだとMavenから逃れられると思ってたけど、そうも行かないようだ。