2017-09-24 92 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,您可以嘗試使用以避免您的問題?