2016-04-28 11 views
2

私は2つのモジュールを持っています:共通とドメイン。ドメインは共通の依存関係です。ドメインでは、Spring Data Elasticsearchの最新バージョンを追加しようとしていますが、古いバージョンに戻っています。マイドメインのbuild.gradleファイルには、次のようになります。ここelasticsearchためGradle - 推移的な依存関係を追跡できません

ドメインbuild.gradle

apply plugin: 'spring-boot' 

buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE") 
} 
} 

dependencies { 
compile("org.springframework.boot:spring-boot-starter-data-jpa") 
compile("org.springframework.boot:spring-boot-starter-redis") 
compile("org.springframework.data:spring-data-elasticsearch:2.0.1.RELEASE") 
compile 'org.slf4j:slf4j-api' 
compile 'com.google.guava:guava:19.0' 

compile 'com.google.code.gson:gson:2.4' 
testCompile "org.mockito:mockito-core:1.+" 
} 

バージョンは、しかし2.0.1.RELASEである私は共通でdependencyInsightを実行する場合、それが取得しています代わり1.3.4.RELEASE:

gradle dependencyInsight --dependency elasticsearch --configuration compile 
:common:dependencyInsight 

Download https://repo1.maven.org/maven2/org/springframework/data/spring-data-elasticsearch/1.3.4.RELEASE/spring-data-elasticsearch-1.3.4.RELEASE.pom 

org.elasticsearch:elasticsearch:1.5.2 (selected by rule) 
\--- org.springframework.data:spring-data-elasticsearch:1.3.4.RELEASE 
\--- project :domain 
     \--- compile 

org.springframework.data:spring-data-elasticsearch:1.3.4.RELEASE (selected by rule) 

org.springframework.data:spring-data-elasticsearch:2.0.1.RELEASE -> 1.3.4.RELEASE 
\--- project :domain 
\--- compile 

共通build.gradle

apply plugin: 'spring-boot' 


buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE") 
} 
}  

dependencies { 
compile project(':domain') 
compile 'com.google.code.gson:gson:2.4' 
compile 'org.owasp.encoder:encoder:1.2' 
compile 'com.ning:async-http-client:1.9.31' 
compile 'org.slf4j:slf4j-api' 
compile 'org.springframework.security:spring-security-core' 
compile 'org.springframework.security:spring-security-acl:4.0.3.RELEASE' 
compile 'javax.mail:javax.mail-api:1.5.4' 
compile 'com.sun.mail:javax.mail:1.5.4' 
testCompile group: 'junit', name: 'junit', version: '4.12' 
testCompile "org.mockito:mockito-core:1.+" 
} 

バージョン1.3.4.RELEASEが2.0.1.RELEASEを置き換えている理由はありますか?

+0

共通プロジェクトをどのように設定しましたか? 'build.gradle'も投稿できますか? –

+0

@AndyWilkinson私はcommonのbuild.gradleで投稿を更新しました – Dyip302

答えて

4

一般的なプロジェクトにSpring BootのGradleプラグインを適用しています。つまり、依存関係管理によってプロジェクトの依存関係のバージョンが制御されます。必要なSpring Data Elasticsearchのバージョンを入手するには、以下を追加してBootの依存関係管理を無効にできます。

dependencyManagement { 
    dependencies { 
     dependency 'org.springframework.data:spring-data-elasticsearch:2.0.1.RELEASE' 
    } 
} 
+0

それはそれでした!ありがとうございました!別の(うまくいけば)小さな質問 - それは一般的に春のブートプラグインを適用することは可能ですか?または、依存関係(ドメイン)の1つがスプリングブートを使用しているので、それを適用する必要がありますか? – Dyip302

+0

あなたのコードをもっと見ることなく確実に言えることはありませんが、純粋にドメインプロジェクトに適用されているため、共通プロジェクトに適用する必要はありません。 –

関連する問題