Garpe 依赖管理器
Grape 是一个内嵌在 Groovy 里的 Jar 包依赖管理器,Grape 可以快速添加 maven仓库依赖 到脚本的 classpat h里,使脚本运行添加依赖更加简单;
基本使用
一个简单的示例如下:
-
@Grab(group='commons-io', module='commons-io', version='2.6')
-
import org.apache.commons.io.FileUtils
-
FileUtils.copyFile(new File("./test.sh"),new File("/user/testDir"))
Grape 也支持简洁版的 maven 依赖包定位:
-
@Grab('commons-io:commons-io:2.6')
-
import org.apache.commons.io.FileUtils
-
....
如果需要导入多个依赖包,可以使用 @Grabs 进行标注,如下:
-
@Grapes(
-
@Grab('commons-io:commons-io:2.6')
-
@Grab('org.apache.httpcomponents:httpclient:4.5.4')
-
)
如果需要导入中央仓库以外的仓库,可以使用以下:
-
@GrabResolver(name='aliyun', root='http://maven.aliyun.com/nexus/content/groups/public/')
-
@Grab('org.restlet:org.restlet:1.1.6')
如果需要排除某个传递依赖,可以参照如下:
-
@Grab('net.sourceforge.htmlunit:htmlunit:2.8')
-
@GrabExclude('xml-apis:xml-apis')
命令行工具
Groovy 提供了命令行工具 grape 来管理 Grape 依赖;
列出所有依赖:
grape list
安装某个依赖:
grape install <groupId> <artifactid> [<version>]
缓存位置
默认情况下,依赖会自动下载到 ~/.groovy/grape 中,可以通过以下命令修改缓存位置:
groovy -Dgrape.root=/repo/grape yourscript.groovy
更多关于 Garpe 的使用方法参见官方文档:http://www.groovy-lang.org/grape.html