示例脚本 ss.groovy:
@Grab(group='org.codehaus.groovy.modules.http-builder',
module='http-builder',
version='0.5.0')
import groovyx.net.http.HTTPBuilder
println('done')
由于某些原因,运行时需要约 25 秒来加载
groovy ss.groovy
和运行时约 5 秒
groovy -Dgroovy.grape.autoDownload=false ss.groovy
根据 this StackOverflow explanation .我尝试使用
进行手动初始化Grape.enableAutoDownload = false
Grape.grab(group:'org.codehaus.groovy.modules.http-builder',
module:'http-builder',
version:'0.5.0')
import groovyx.net.http.HTTPBuilder
println('done')
但是导入失败:
/tmp/ss.groovy: 3: unable to resolve class groovyx.net.http.HTTPBuilder
@ line 3, column 1.
import groovyx.net.http.HTTPBuilder
^
是否有一种封闭的方式可以:
- 让它不自动下载工件(首选,因为它允许解决其他问题,例如,当本地缓存中已存在工件时外部站点关闭)
- 以任何其他方式使其启动更快
包含我的意思是所有额外的指令都应该在脚本中,或者,如果不存在这样的指令,一个可接受的默认值(例如,不检查缓存的工件更新 - 但是,我仍然希望自动下载globally) 放在一些 groovy 配置文件中(例如 ~/.groovy/grapeConfig.xml 或类似文件)。
最佳答案
更新:问题已修复,@GrabConfig(autoDownload=false)
将在 Groovy 2.2 中可用
关于groovy - 禁用 Groovy 葡萄的自动下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632662/