1. 程式人生 > >Groovy 使用 Garpe 依賴管理器

Groovy 使用 Garpe 依賴管理器

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