返回介绍

1 快速上手

发布于 2025-01-04 00:44:52 字数 2277 浏览 0 评论 0 收藏 0

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.proxyHosthttp.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文