2017-09-24 44 views
0

我对groovy很新颖,ans正在练习使用http-builder包进行REST调用,我正在尝试使用@Grab注释来添加依赖项,但它不会“T下载的依赖,注释不工作,@Grab在intellij IDE for groovy中不工作

我的代码:

import groovyx.net.http.ContentType 
import groovyx.net.http.RESTClient 

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7') 

def restClient = RESTClient('http://api.icmdb.com') 
restClient.contentType = ContentType.JSON 
restClient.get(path:'/jokes/random'){response,json-> 
    println response.status 
    println json 
} 

例外我越来越:

Caught: groovy.lang.MissingMethodException: No signature of method: com.groovy.practice.RESTCall.RESTClient() is applicable for argument types: (String) values: [http://api.icmdb.com] 
groovy.lang.MissingMethodException: No signature of method: com.groovy.practice.RESTCall.RESTClient() is applicable for argument types: (String) values: [http://api.icmdb.com] 

所以基本上它不是下载的HTTP建设者和母鸡它没有找到RESTClient类型的签名。

我的常规版本:2.6.0-α-1 的IntelliJ版本:2017年2月3日

有什么发起葡萄在Groovy或IDE的IntelliJ,任何人都可以请帮助,我在这里停留。

回答

2

尝试将脱字符号放在葡萄依赖&按Alt + Enter然后抓取依赖关系。

+0

感谢迈克,它的工作,但我有一个更多的跟进问题,这是不是最令人沮丧的错误,我已经在顶部添加@Grab注释,但我必须手动抓取依赖关系,然后什么添加注释的重点,非常感谢您提出这个建议,但是您知道这是IDE还是Groovy中的错误? –

+0

我知道这是一个痛苦,我相信有一个功能要求将自动葡萄下载添加到未来版本的intellij某处 –

0

我的第一个想法是放弃IDE的问题。请尝试使用groovy解释器在IDE之外执行您的Groovy程序。如果问题再次出现,我会检查我的〜/ .groovy/grapeConfig.xml。

是否有任何连接问题或企业代理,会阻止你直接到maven中央互联网站点?在这种情况下,你应该尝试在你的Groovy调用中配置代理选项吗?或者,如果您处于法人环境中,是否有任何类型的法人存储库,例如Artifactory或Nexus,您可以尝试使用以避免您的问题?