获取依赖 @Grab
举例来说,假设你想往项目里添加H2数据库:
方法一:明确地声明依赖的组、模块和版本号
@Grab(group="com.h2database", module="h2", version="1.4.190")
方法二:用更简洁的冒号分割表示依赖
@Grab("com.h2database:h2:1.4.185")
方法三:不指定版本号,确切的版本号是由你所使用的CLI的版本来决定的。
@Grab("com.h2database:h2")
方法四:常用依赖还可以省去Group ID,直接在 @Grab 里写上模块的ID。
@Grab("h2")
Grab 提示
Spring Boot 用于下载第三方库的提示:
编号 | 提示 | 下载/链接的依赖 |
---|---|---|
1 | JdbcTemplate , NamedParameterJdbcTemplate , DataSource |
JDBC应用程序 |
2 | @EnableJms |
JMS应用程序 |
3 | @EnableCaching |
缓存抽象 |
4 | @Test |
JUnit |
5 | @EnableRabbit |
RabbitMQ |
6 | @EnableReactor |
项目反应堆 |
7 | extends Specification |
Spock测试 |
8 | @EnableBatchProcessing |
Spring Batch |
9 | @MessageEndpoint , @EnableIntegrationPatterns |
Spring集成 |
10 | @EnableDeviceResolver |
Spring Mobile |
11 | @Controller , @RestController , @EnableWebMvc |
Spring MVC + 嵌入式Tomcat |
12 | @EnableWebSecurity |
Spring Security |
13 | @EnableTransactionManagement |
Spring事务管理 |
覆盖默认依赖版本 @GrabMetadata
Spring Boot引入了新的 @GrabMetadata 注解,可以和 @Grab 搭配使用,用属性文件里的内容来覆盖默认的依赖版本。
要用 @GrabMetadata ,可以把它加到某个Groovy脚本文件里,提供相应的属性文件来覆盖 依赖元数据:
@GrabMetadata("com.myorg:custom-versions:1.0.0")
希望让 @GrabMetadata 使用 Spring IO平台 上定义的依赖版本:
@GrabMetadata('io.spring.platform:platform-versions:1.0.4.RELEASE')
这会覆盖 CLI 的默认依赖版本,使Spring IO平台定义的版本取而代之。
添加依赖仓库 @GrabResolver
默认情况下, @Grab 声明的依赖是从Maven中心仓库(http://repo1.maven.org/maven2/)拉取 的。
@GrabResolver 注解可以让你指定额外的仓库,用来获取依赖。
从 JBoss 的仓库里获取到最新的Hibernate版本:
@GrabResolver(name='jboss', root='https://repository.jboss.org/nexus/content/groups/public-jboss')