对于新手的问题表示歉意,但是如何为Groovy安装HTTPBuilder呢?
我已经在GROOVY_HOME/lib中添加了http-builder-0.7.jar、HTTP-builder-0.7Sourcee.jar和HTP-Builder-0.7javadoc.jar。
还有什么需要我做的吗?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发布于 2016-01-15 15:33:18
下面的示例适用于我:
@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中的任何依赖jars。手动添加jars可能会产生冲突并导致这些类型的错误。检查是否手动将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+Enter,然后选择‘抓取工件’选项。
https://stackoverflow.com/questions/28888337
复制相似问题