2

我对 groovy 很陌生,ans 正在练习使用 http-builder 包进行 REST 调用,我正在尝试使用 @Grab 注释添加依赖项,但它不下载依赖项,注释不起作用,

我的代码:

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-builder,因此它没有找到类型RESTClient的签名。

我的 groovy 版本是:2.6.0-alpha-1 Intellij 版本:2017.2.3

有什么可以在 groovy 或 intellij IDE 中启动 Grape,任何人都可以帮忙,我被困在这里。

4

2 回答 2

7

尝试在 Grapes 依赖项上放置插入符号并按 Alt + Enter 然后获取依赖项。

于 2017-09-25T06:10:16.197 回答
0

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

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

于 2017-09-24T18:27:44.383 回答