安装用于Groovy的HTTPBuilder

安装用于Groovy的HTTPBuilder,groovy,httpbuilder,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网站不清楚 从GroovyConsole运行的代码: import groovy.grape.Grape Grape.grab(group='org.codehaus.

对于新手提出的问题,我深表歉意,但是您如何为Groovy安装HTTPBuilder

我已经将http-builder-0.7.jar、http-builder-0.7-source.jar和http-builder-0.7-javadoc.jar添加到GROOVY_HOME/lib中

还有什么我需要做的吗?HTTPBuilder网站不清楚

从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

下面的示例对我来说是开箱即用的:

@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库手动添加到库中,同时将其删除,然后重试

编辑:在使用IntelliJ时,我能够重现一次这种行为。我已经在Groovy脚本中添加了一个
@Grab
注释。当我添加第二个库时,它似乎没有下载或导入新库

首先,如果添加第二个
@Grab
,则需要将其包装在
@Grapes
注释中,如下所示(我的第一个错误):


之后,我在这里找到了我的解决方案:,这比使用IntelliJ时解释的要多,如果遇到这个问题,请尝试将光标放在
@Grapes
注释旁边,然后选择Alt+Enter,然后选择“抓取工件”选项。

不要将其复制到lib文件夹。它使你所做的一切几乎不可能复制。为什么不使用像gradle这样合适的构建工具,并将构建器作为依赖项使用呢?或者,如果您只是在编写一个script@tim_yates我从lib文件夹中删除了它们。我一直在尝试使用GroovyConsole的葡萄。我将编辑以向您展示我所做的。我试图在我的机器上运行Grape.bat,但它刚刚结束。您是否尝试过取消导入并用
@grab(group='org.codehaus.groovy.modules.http builder',module='http-builder',version='0.7')
或(甚至更短)
@grab('org.codehaus.groovy.modules.http builder:http builder:0.7')替换grab行
@tim_-yates我遇到另一个异常抛出。我编辑这篇文章是为了给你看。不幸的是,不是为了我。。。还在挖土。尝试删除本地依赖项,定义自定义配置,尝试其他版本。。。仍然无法下载(尽管事实上我在我的本地葡萄回购罐!!)。有什么想法吗?智能部分就是我要找的!。。一旦我解决了工件,就可以使用
import groovyx.net.http.HTTPBuilder
和HTTPBuilder作为
def http=new HTTPBuilder('http://www.codehaus.org')
@Alex如果您试图“获取工件”的类/脚本中存在任何编译错误,则Alt-Enter方法将不起作用。暂时注释掉所有对HTTPBuilder的引用或其他有错误的行,并在之后尝试“Alt-Enter”-->“Grap the Artifacts”选项。在2020年,这将无法正常工作。自2014年以来就没有更新过,它使用的是自2010年以来就没有更新过的,并且实际上不再在Maven central上(尝试下载JAR:您将获得404)。
@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')
])