2016-06-01 9 views
2

私は素晴らしいn00bで、http-builderを使用しようとしていますが、ウェブ上のすべての例は同じ@Grabの文を参照するだけで動作しません。私はcodehaus.orgがこれ以上グルーヴィーなものをホストしていないからだと思います。私はgithubからソースをダウンロードしてMavenでビルドしようとしましたが、ビルドに失敗します。GroovyはCodeHaus shutdownを使用してHTTPBuilderをインストールしますか?

groovy用にhttpbuilderを入手する方法と場所はどこですか?私はすでに試した

もの:

this postからブドウのディレクトリを削除するには動作しませんでした。

私はthis other postからこのコードスニペットを取得しましたが、それも私のためには機能しません。

/Users/kenny/Sites/inadaydevelopment.com/reports/fetch_windows_appstore_report.groovy 
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
General error during conversion: Error grabbing Grapes -- 
[download failed: xerces#xercesImpl;2.9.1!xercesImpl.jar, 
download failed: xml-apis#xml-apis;1.3.04!xml-apis.jar] 

EDIT 1:コマンドラインからそれを実行しようとした

、依然として同じエラーメッセージここ

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7') 

def http = new groovyx.net.http.HTTPBuilder('http://www.codehaus.org') 
println http 

はIntelliJのコンソールのエラーです。

はIntelliJので grab artifactsをしようとしましたが、それはあまりにも失敗しました:私はそれはマック関連していたのか疑問に思って、ビンゴ

enter image description here

。このスクリプトをCentOSサーバーにアップロードしたところ、うまくいきました。問題を引き起こしているMacOSX + groovyに関連するものがあります。

+0

これらのエラーはcodehausとは関係がないことに注意してください。これらは単にグループ/アーティファクト名です。このエラー(またはコモンズロギング)は、推移的なdepsを混乱させる可能性がより高いです。 – cfrick

+1

これを動作させることができない場合は、単純なGroovyを使用してください:https://sites.google.com/a/athaydes.com/renato-athaydes/code/groovy---rest-client-without-using-ライブラリ – Renato

答えて

1

ありがとうございました!問題だったのは、Mavenキャッシュだったようです。

私は解決策on this pageが見つかりました:私は以前~/.groovy/grapesキャッシュを削除しようとしたが、それは問題を解決しませんでした

rm -rf ~/.m2/repository ~/.groovy/grapes 

を。 ~/.m2/repositoryを削除することは実際に私のために行ったことです。

1

これは、groovyコンソールとコマンドラインからうまく機能します。

http-builderプロジェクトはMaven Centralでホストされています。

グラブは実際にはJCenterを使用しますが、JCenterはMaven Centralをミラーリングするため、この解決策が機能します。

推移的な依存関係を解決するのがなぜ難しいのかわかりません...プロキシを使用している可能性があります。たとえば、MavenまたはIvyの設定になる可能性があります... Groovy Grapesドキュメントを参照してください。誤ってこの問題の原因となっている何らかの設定をしている可能性があります。

また、GroovyConsoleまたはコマンドラインからIntelliJ内のいくつかの競合を除外してみてください。

IntelliJから、GrabアノテーションをポイントしてAlt+Enterをクリックします。次に、grab artifactsEnterを選択します。

これはうまくいくはずです(私にとってはうまくいく)ので、問題なくスクリプトを実行できるはずです。

Ivyがクラスパスに含まれていないと言うと、Ivyをモジュールの依存関係に追加するだけで動作します。

+0

コマンドラインからスクリプトを実行すると、 'download failed'というエラーメッセージが表示され、' grab artifacts'を実行したときに表示されます。私は困惑している。 :/ –

+0

私はブドウに関連するものを設定したことはありません。あなたが提供したばかりのリンクを読むまで、私は実際に何があったのか分かりませんでした。私はプロキシを設定しているとは思わない。私はこれを私のMacから実行しています。 Macにグルーヴィー/ブドウの問題はありますか? –

+0

Dammit!それがそのように見えます。私はこのスクリプトをCentOSサーバーにアップロードしました。ガー!非常に多くの時間を無駄にしました。確かに、少なくとも問題がどこにあるのか理解していれば、解決策を見つけるためのより良い検索用語が得られるかもしれません。 –

関連する問題