私は単純なGroovyスクリプトで "HTTPBuilder"を使用しようとしています。私が '@Grab'を使って依存関係をインポートすると、すべて正常に動作します。しかし、私は別のディレクトリ内にjarファイルを保存し、classLoader関数を使用してそれをインポートしたいと思います。私はブドウディレクトリに配置された 'http-builder-0.7.jar'をコピーし、Groovyスクリプトが実行されているディレクトリ(Windows上)に貼り付けました。私はその後、「@Grab」ステートメントをコメントアウトし、クラスローダが含まれていますが、このエラーを取得:GroovyでのローカルJarの組み込み
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: C:\Groovy Scripts\test.groovy: 9: unable to resolve class HTTPBuilder
クラスローダは、スクリプトで作業されない理由を任意のアイデア?私は '@Grab'でインポートするときにjarファイルのパスを表示し、それは間違いなくgrapeディレクトリ内のパスを使用しています。 '@Grab'ステートメントのコメントを外すと、再び動作します。前述のようにここで小さなスクリプト...
//@Grab('org.codehaus.groovy.modules.http-builder:http-builder:0.7')
this.getClass().classLoader.rootLoader.addURL(new File("http-builder-0.7.jar").toURL())
//return new File(groovyx.net.http.HTTPBuilder.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
def http = new HTTPBuilder('http://httpbin.org/get')
HttpBuilderを、おそらくこれは –
を下るために滑りやすい斜面です...他の依存関係に依存している、それが依存する依存には何があるかを確認する方法はありますか?これは、これらのjarファイルをダウンロードして同じディレクトリに置くだけで簡単ですか? – John
[あなたはここのPOMで見ることができます](http://search.maven.org/#artifactdetails%7Corg.codehaus.groovy.modules.http-builder%7Chttp-builder%7C0.7.1%7Cjar)問題はそれは依存関係のツリーなので、依存するものは依存関係になります...したがって、滑りやすい勾配です。あなたはグラブを使うのが一番です。または、gradleのようなものを使って太い瓶にスクリプトを作ります –