2015-07-04 16 views
8

Próbuję przekonwertować mój projekt z Mavena na Gradle. Obecnie projekt korzysta z Spring Boot.Spring Boot otrzymaj własność pakietu w Gradle

W moim obecnym maven config mam

<dependency> 
     <groupId>com.fasterxml.jackson.datatype</groupId> 
     <artifactId>jackson-datatype-hibernate4</artifactId> 
     <version>${jackson.version}</version> 
    </dependency> 

W powyższym fragmencie, właściwość jackson.version pochodzi od wiosny Boot pom. Teraz, w Gradle używam pluginu Wiosna Boot i Im próbuje użyć poniższego fragmentu kodu ..

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") 
} 

W powyższym Czekam wtyczki wiosna Boot wstawić wersję Jackson- moduł hibernate4. Ale tak się nie stało

Każdy pomysł, jak to osiągnąć? Moim zamiarem jest użycie tej samej wersji kompilacji jackson w całym projekcie.

Dzięki!

Odpowiedz

5

Możesz użyć dependency management plugin do importowania bomby Spring Boot i uzyskać dostęp do właściwości, które on określa.

Oto ty oryginalny build.gradle plik z niezbędnymi zmianami:

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") 
} 

Wiosna Boot 1.3 zacznie korzystać z wtyczki do zarządzania zależność domyślnie, gdy będzie ona zastosowanie wtyczki i zaimportować BOM dla Ciebie.

+0

Właściwie, zależności są zdefiniowane w org.springframework.boot: spring-boot-dependencies: $ springBootVersion, nie ma potrzeby importowania spring-boot-starter-parent. – wujek