为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。 手动添加罐子可能会产生冲突并导致这些类型的错误。 检查是否已手动将HttpClient库添加到库中,并将其删除,然后重试。

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

首先,如果您添加第二个@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导入依赖项,这与使用IntelliJ时遇到此问题时的@Grapes ,请尝试将光标放在@Grapes注释旁边并选择Alt + Enter,然后选择'抢人工'选项。

链接地址: http://www.djcxy.com/p/84107.html

上一篇: Installing HTTPBuilder for Groovy

下一篇: How float is converted to double in java?