を尊重しない:のGradleの推移依存性は、私はGradleの3.5プロジェクトを持っている、そしてそのプロジェクトで、私はアーティファクトに依存バージョン
compile "a.b.c:depProject:1.1.0"
は「depProject」は、そのプロジェクトのPOMファイルで、Mavenプロジェクトであり、それは他のアーティファクトに依存します。
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.4.0</version>
</dependency>
を今、私は私のプロジェクトの「Gradleの依存関係」を実行すると、それは正しく、私は推移的依存関係の解決を経由してsolrj依存性を取得する必要があることを示しているが、それは4.4を尊重していません。 0バージョンの宣言ではなく、私のプロジェクトはバージョン5.5.4に依存します。
+--- a.b.c:depProject:1.1.0
| \--- org.apache.solr:solr-solrj:4.4.0 -> 5.5.4
これらの行は、依存関係レポートに複数回表示されますが、常に同じです。
なぜGradleは自分の依存関係を自動的に「アップグレードする」のですか?私が望むバージョンを指定して、推移的な依存性に直接依存する以外に、これを止める方法はありますか?私は経由で私のプロジェクトでsolrj依存性を除外した場合
注:
compile ("a.b.c:depProject:1.1.0") {
exclude group:"org.apache.solr" module:"solr-solrj"
}
次いで、得られた「Gradleの依存関係」の呼び出し中のNO solrj依存性はありませんので、依存しているsolrjは他の場所ではありませんその高いバージョンで。
私は、全体のbuild.gradleを投稿することはできませんが、私はプラグインが適用されているかを示すことができます:2つの推移依存関係の間に矛盾がある場合
apply plugin:"idea"
apply plugin:"org.grails.grails-web"
apply plugin:"com.moowork.node"
apply plugin:"org.grails.plugins.views-json"
apply plugin: "org.grails.grails-gsp"
apply plugin: "maven"
apply plugin: "codenarc"
apply plugin: "jacoco"
apply plugin: "org.sonarqube"
apply plugin: "asset-pipeline"
バージョンをバンプするためにプラグインを使用しましたが、それでも '5.5.4'でも最新ではないことは変です。完全な 'build.gradle'を貼り付けるのが良いでしょう。 – chenrui
@chenrui build.gradleに適用されたプラグインを追加しました。 – billjamesdev
'buildSrc'パーツも貼り付けることができれば、私がデバッグするのは素晴らしいことです。 – chenrui