spring-boot-dependencies
ve spring-boot
Grapes eklentilerini kullanan çok modüllü bir projede doğru Gradle yapılandırması nasıl görünür?Çok modüllü bir sarmal bağımlılığı eklentisi Spring Boot projesi
parent
|
+ build.gradle
|
+ alpha
| |
| + build.gradle
|
+ beta
| |
| + build.gradle
parent
modül ortak proje yapılandırmasını içeren:Aşağıdaki proje kurulum var.
alpha
modülü, bağımlılıkları spring-boot-dependencies bomasında belirtilen sürüm numaralarını kullanarak almak istediğim bir modüldür, ancak standart bir jar sonucudur.beta
modülü,alpha
'a bağlı bir modüldür ve sonuç, yürütülebilir bir Spring Boot jar dosyasıdır (tüm bağımlılıklar dahil). Sonuç olarak, bu projenin hemspring-boot-dependencies
hem despring-boot
eklentisine ihtiyacı vardır.
Gradle dosyalarını DRY tutmak için, ebeveynin build.gradle
dosyasına ortak modül komut dosyalarını ayıkladım. sonuçları aşağıda proje konfigürasyonu kullanılarak $ gradle build
çalıştırmak için
girişimleri:
> Plugin with id 'io.spring.dependency-management' not found.
üst gradle.build
allprojects {
group = "com.example"
version '0.0.1-SNAPSHOT'
ext {
dependencyManagementPluginVersion = '0.5.3.RELEASE'
springBootVersion = '1.3.0.RC1'
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
}
subprojects {
sourceCompatibility = 1.8
targetCompatibility = 1.8
buildscript {
repositories {
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("io.spring.gradle:dependency-management-plugin:${dependencyManagementPluginVersion}")
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'io.spring.dependency-management'
dependencyManagement {
imports {
mavenBom("org.springframework.boot:spring-boot-dependencies:${springBootVersion}")
// mavenBom("org.springframework.boot:spring-boot-starter-parent:${springBootVersion}")
}
}
}
alfa build.gradle
dependencies {
compile('org.springframework:spring-web')
}
beta gradle.build
apply plugin: 'spring-boot'
dependencies {
compile project(':alpha')
compile('org.springframework.boot:spring-boot-starter')
compile('org.springframework.boot:spring-boot-starter-web')
}
Yorumlar:
- Bahar Boot
spring-boot
eklenti was changed davranışı 1.3.0.M1 - Gradle sürümü: 2.8
- Yay Önyükleme versiyonu 1.3.0.RC1
Cevabım yardımcı olduysa, lütfen onu iptal edin. – Opal
@Opal Gecikme için özür dilerim, cevabınızı kabul ettiğimi düşündüm. Bir blog yazısı yazdım (http: //www.jayway.Com/2015/11/23/yeniden bahar-bot-bağımlılık yönetimi /) konuyla ilgili, lütfen onayları kontrol edin. :-) – matsev
Teşekkürler, tam olarak sorun --- bu sorunu başkalarına yardımcı olmak için, ben ekleyeceğim: Eğer saf olarak deneyin: eklenti 'bahar-önyükleme' TÜM alt projelerinize uygulayın, (sadece bahar bağımlılığı elde etmek için - ücretsiz yönetim) yapı hatası alırsınız (en azından pencerenin altında kaldım): Yürütme ': xxxxx: bootRepackage' görevinde başarısız oldu. 'xxxxx.jar' ile 'xxxxx.jar.original' için yeniden adlandırılamadı – Rop