Spring Boot 在 Gradle 中获取包的属性
Posted
技术标签:
【中文标题】Spring Boot 在 Gradle 中获取包的属性【英文标题】:Spring Boot get property of a package in Gradle 【发布时间】:2015-09-22 04:44:52 【问题描述】:我正在尝试将我的项目从 Maven 构建转换为 Gradle。该项目目前使用 Spring Boot。
在我当前的 maven 配置中,我有
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate4</artifactId>
<version>$jackson.version</version>
</dependency>
在上面的 sn-p 中,jackson.version 属性来自 Spring Boot pom。现在,在 Gradle 中,我正在使用 Spring Boot 插件,并尝试使用下面的 sn-p 代码..
buildscript
repositories
mavenCentral()
dependencies
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.4.RELEASE")
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'java'
dependencies
compile("com.fasterxml.jackson.datatype:jackson-datatype-hibernate4")
在上面,我期待 spring Boot 插件插入 jackson-hibernate4 模块的版本。但是,这不会发生
关于如何实现这一点的任何想法?我的意图是在整个项目中使用相同版本的 jackson 构建。
谢谢!
【问题讨论】:
【参考方案1】:您可以使用dependency management plugin 导入 Spring Boot 的 bom 并访问它指定的属性。
这是您的原始 build.gradle
文件,其中包含必要的更改:
buildscript
repositories
mavenCentral()
dependencies
classpath "org.springframework.boot:spring-boot-gradle-plugin:1.2.4.RELEASE"
classpath "io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE"
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
repositories
mavenCentral()
dependencyManagement
imports
mavenBom 'org.springframework.boot:spring-boot-starter-parent:1.2.4.RELEASE'
ext
jacksonVersion = dependencyManagement.importedProperties['jackson.version']
dependencies
compile("com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:$jacksonVersion")
Spring Boot 1.3 将在应用插件并为您导入 bom 时默认开始使用依赖管理插件。
【讨论】:
其实依赖是在org.springframework.boot:spring-boot-dependencies:$springBootVersion中定义的,不需要引入spring-boot-starter-parent。 @andy-wilkinson 有没有办法以相同的方式在全球范围内创建一个版本?以上是关于Spring Boot 在 Gradle 中获取包的属性的主要内容,如果未能解决你的问题,请参考以下文章
spring boot使用gradle打包怎么样排除指定jar包
spring boot使用gradle打包怎么样排除指定jar包
Spring boot + Gradle + Eclipse打war包发布总结
尝试使用 gradle bootrun 编译并获取找不到 spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT