1 快速上手
1.1 添加一个依赖项
Grape 是一个内嵌在 Groovy 中的 JAR 依赖项管理器。它能使你在类路径上快速添加 Maven 库依赖项,更易于编写脚本。最简单的用法是在脚本上添加注释(annotation),如下所示:
@Grab(group='org.springframework', module='spring-orm', version='3.2.5.RELEASE')
import org.springframework.jdbc.core.JdbcTemplate
@Grab
也支持简短标记:
@Grab('org.springframework:spring-orm:3.2.5.RELEASE')
import org.springframework.jdbc.core.JdbcTemplate
注意,这里使用了标记式的导入,推荐采用这种方式。也可以在 mvnrepository.com 中搜索各种依赖项,该网站可提供 pom.xml
项的 @Grab
注释形式。
1.2 指定附加依赖库
并非所有的依赖项都位于 Maven 中心库中,还可以添加新的库:
@GrabResolver(name='restlet', root='http://maven.restlet.org/')
@Grab(group='org.restlet', module='org.restlet', version='1.1.6')
1.3 Maven 分类器
有些 Maven 依赖项需要使用分类器(classifier)才能解析,比如像下面这个例子:
@Grab(group='net.sf.json-lib', module='json-lib', version='2.2.3', classifier='jdk15')
1.4 排除传递性依赖
有些时候,因为可能在使用的依赖项版本稍有不同,但具有兼容性,需要排除某些传递性依赖,如下所示:
@Grab('net.sourceforge.htmlunit:htmlunit:2.8')
@GrabExclude('xml-apis:xml-apis')
1.5 JDBC 驱动
依据 JDBC 驱动的加载方式的不同,可能需要配置 Grape,将 JDBC 驱动依赖项添加到系统类加载器中,比如:
@GrabConfig(systemClassLoader=true)
@Grab(group='mysql', module='mysql-connector-java', version='5.1.6')
1.6 利用 Groovy Shell 来使用 Grape
在 groovysh 上使用方法调用变体:
groovy.grape.Grape.grab(group:'org.springframework', module:'spring', version:'2.5.6')
1.7 代理设置
如果被防火墙阻隔,或者想通过代理服务器来使用 Groovy/Grape,可以通过 http.proxyHost
和 http.proxyPort
系统属性在命令行中指定这些设置:
groovy -Dhttp.proxyHost=yourproxy -Dhttp.proxyPort=8080 yourscript.groovy
或者,还可以将这些属性添加到 JAVA_OPTS 环境变量中,从而应用到整个系统中:
JAVA_OPTS = -Dhttp.proxyHost=yourproxy -Dhttp.proxyPort=8080
1.8 日志
如果想查看 Grape 的工作内容,可以将 groovy.grape.report.downloads
设为 true
(比如将 -Dgroovy.grape.report.downloads=true
添加到 JAVA_OPTS 环境变量中),Grape 就能将下列信息打印在 System.error 中:
- 开始解析一个依赖项;
- 开始下载一个工件;
- 重试工件下载;
- 可下载工件的下载尺寸及用时。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论