web-dev-qa-db-ja.com

Groovy用のHTTPBuilderのインストール

初心者の質問についてお詫びしますが、Groovy用のHTTPBuilderをどのようにインストールしますか?

Http-builder-0.7.jar、http-builder-0.7-source.jar、およびhttp-builder-0.7-javadoc.jarをGROOVY_HOME/libに追加しました。

他に何かする必要がありますか? HTTPBuilderのWebサイトは明確ではありません。

GroovyConsoleから実行されるコード:

import groovy.grape.Grape

Grape.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')

私はこれに応えてこれを受け取ります:

groovy.lang.MissingMethodException: No signature of method: static groovy.grape.Grape.grab() is applicable for argument types: (Java.lang.String, Java.lang.String, Java.lang.String) values: [org.codehaus.groovy.modules.http-builder, http-builder, 0.7]
Possible solutions: grab(Java.lang.String), grep(), grab(Java.util.Map), grab(Java.util.Map, [Ljava.util.Map;), wait(), dump()

編集2:

 @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')

応答:

Java.lang.NoClassDefFoundError: org/Apache/http/client/methods/HttpRequestBase

at ConsoleScript6.run(ConsoleScript6:4)

Caused by: Java.lang.ClassNotFoundException: org.Apache.http.client.methods.HttpRequestBase

... 1 more
9
James.Wyst

次の例は、箱から出してすぐに機能します。

@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

GROOVY_HOME\libに直接追加した依存関係jarをすべて削除する必要があります。そこに手動でjarを追加すると、競合が発生し、これらのタイプのエラーが発生する可能性があります。 HttpClientライブラリを手動でライブラリに追加したかどうかを確認し、それらも削除して、再試行してください。

EDIT:IntelliJを使用しているとき、私はこの動作を一度再現することができました。 Groovyスクリプトにすでに1つの@Grabアノテーションが追加されています。秒を追加したとき、新しいライブラリをダウンロードまたはインポートしていないようでした。

まず、2番目の@Grabを追加する場合は、次のように@Grapesアノテーションでラップする必要があります(私の最初の間違い)。

@Grapes([
        @Grab(group='org.codehaus.gpars', module='gpars', version='1.2.1'),
        @Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1')
])

その後、ここで解決策を見つけました: Intellij IDEA Groovyプロジェクトの@Grabから依存関係をインポートしていません@Grapes注釈の横にカーソルを置き、Alt + Enterを選択してから、 'アーティファクトを取得する'オプション。

6
pczeus