groovy - 为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.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批注中,如下所示(我的第一个错误):
@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 not importing dependencies from @Grab in Groovy project,它比使用IntelliJ时的解释要解决,您遇到此问题时,请尝试将光标放在@Grapes批注旁边,然后选择 Alt +输入,然后选择'抓取工件'选项。

关于groovy - 为Groovy安装HTTPBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28888337/

相关文章:

grails - Grails GORM:常规 map

grails - 如何动态地将属性/字段添加到 Grails 中的域类?

grails - 抓取 Grapes 时出错 - 未找到依赖项

string - 如何使用 Groovy 脚本将整数转换为指定长度的字符串值

unit-testing - Mocking FacesContext

rest - Grails REST 客户端插件 - PUT 正文内容

rest - Grails - 从我的 POST 请求 HTTP 获取返回

json - groovy.json.JsonSlurper 在 groovy 1.7.8 中在哪里

groovy - 为什么 HTTPBuilder 基本身份验证不起作用?

grails - 从类名称创建grails域类