我试图将我的项目从Maven构建转换为Gradle。该项目当前使用Spring Boot。
在我当前的Maven配置中,我有
<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-hibernate4</artifactId> <version>${jackson.version}</version> </dependency>
在上面的代码片段中,jackson.version属性来自Spring Boot pom。现在,在Gradle中,我正在使用Spring Boot插件,而我正在尝试使用以下代码段。
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版本。
谢谢!
您可以使用依赖项管理插件导入Spring Boot的Bom并访问其指定的属性。
这是您build.gradle进行了必要更改的原始文件:
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时,它将开始使用依赖管理插件。