Jam*_*yst 9 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')
Run Code Online (Sandbox Code Playgroud)
我得到了回应:
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()
Run Code Online (Sandbox Code Playgroud)
编辑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')
Run Code Online (Sandbox Code Playgroud)
响应:
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
Run Code Online (Sandbox Code Playgroud)
以下示例适用于我开箱即用:
@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
Run Code Online (Sandbox Code Playgroud)
您需要删除直接添加到GROOVY_HOME\lib的任何依赖项jar.手动添加jar可能会产生冲突并导致这些类型的错误.检查是否已将HttpClient库手动添加到lib中,同时将其删除并重试.
编辑:使用IntelliJ时,我已经能够重现这种行为一次.我已经在@GrabGroovy脚本中添加了一个注释.当我添加第二个时,它似乎没有下载或导入新库.
首先,如果你添加第二个@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')
])
Run Code Online (Sandbox Code Playgroud)
在那之后,我在这里找到了我的解决方案:Intellij IDEA没有在Groovy项目中导入来自@Grab的依赖项,这解释了比使用IntelliJ时遇到此问题,尝试将光标放在@Grapes注释旁边并选择Alt + Enter然后选择'抓住Artifacts的选项.
| 归档时间: |
|
| 查看次数: |
13494 次 |
| 最近记录: |