我是一个常规的n00b,并尝试使用http-builder,但网上的所有示例都只引用了相同的@Grab
语句,但该语句不起作用。我认为这是因为codehaus.org不再托管groovy的东西了。我尝试从github下载源代码并使用Maven构建它,但构建失败。
我应该如何以及在哪里获得grobuy的httpbuilder?
我已经尝试过的事情:
从this post删除葡萄目录没有用。
我从this other post获得了此代码段,但它对我来说也不起作用。
@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
以下是IntelliJ控制台中的错误:
/Users/kenny/Sites/inadaydevelopment.com/reports/fetch_windows_appstore_report.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during conversion: Error grabbing Grapes --
[download failed: xerces#xercesImpl;2.9.1!xercesImpl.jar,
download failed: xml-apis#xml-apis;1.3.04!xml-apis.jar]
编辑1:
尝试从命令行运行它,仍然是相同的错误消息。
在IntelliJ中尝试grab artifacts
,但也失败了:
我想知道它是否与Mac有关,还有宾果游戏。我把这个脚本上传到了我的CentOS服务器,运行得很好。有一些与MacOSX + groovy相关的东西导致了这个问题。
答案 0 :(得分:1)
这可以从groovy控制台和命令行中正常工作。
http-builder项目托管在Maven Central。
Grab实际上会使用JCenter,但JCenter会镜像Maven Central,因此这个解决方案有效。
不确定为什么你会在解决传递依赖关系时遇到问题...可能是你正在使用代理,例如......也可能是你对Maven或Ivy的设置......检查Groovy Grapes文档,看看你是否可能无意中配置了导致此问题的内容。
另外,请尝试使用groovyConsole或命令行来排除IntelliJ中的一些冲突。
从IntelliJ,指向Grab注释并点击Alt+Enter
。然后选择grab artifacts
和Enter
。
它应该有效(对我有用),你应该可以毫无问题地运行脚本。
如果它抱怨Ivy不在类路径中,只需将Ivy添加到模块依赖项中它就可以了。
答案 1 :(得分:1)
知道了!它看起来像maven缓存是问题。
我找到了解决方案on this page:
rm -rf ~/.m2/repository ~/.groovy/grapes
我之前尝试删除~/.groovy/grapes
缓存,但这并没有解决问题。删除~/.m2/repository
实际上是为我做的。