当前位置: 首页 > 知识库问答 >
问题:

分级传递依赖不尊重版本

公西英叡
2023-03-14
compile "a.b.c:depProject:1.1.0"

“DepProject”是一个Maven项目,在该项目的pom文件中,它依赖于另一个工件:

   <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-solrj</artifactId>
        <version>4.4.0</version>
   </dependency>

现在,当我对我的项目执行“gradle dependencies”时,它正确地表明我应该通过传递依赖项解析获得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

这些行在依赖关系报告中出现几次,始终相同。

compile ("a.b.c:depProject:1.1.0") {
    exclude group:"org.apache.solr" module:"solr-solrj"
}

然后在结果的“gradle dependencies”调用中没有solrj依赖项,因此在那个更高的版本中没有其他地方依赖solrj。

我不能发布整个build.gradle,但我可以显示应用了哪些插件:

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"

共有1个答案

乌翰学
2023-03-14

Gradle只在两个传递依赖项之间存在冲突时选择较新版本的依赖项。因此,要么您在gradle中发现了一个bug,要么您的项目中依赖于其他东西

org.apache.solr:solr-solrj:5.5.4

快跑吧

gradle dependencies | grep -B5 solrj:5

并看看是否真的没有对该版本的依赖关系。

 类似资料:
  • 我无法使用Gradle强制生成依赖项的版本。我的目标是使用0.20.0版本。发布了Spring HATEOAS库的,但尽管我付出了所有的努力,它仍然解析为0.19.0。释放。 我尝试了许多策略,包括孤立的策略和相互结合的策略。这些策略包括但可能不限于以下策略(请注意,在所有情况下都在文件中定义,该文件位于声明Spring HATEOAS依赖项的模块目录的父目录中): #1(在声明依赖关系的模块的b

  • 我有三个分级模块:ModA模块、ModB模块和ModC模块 ModA依赖于ModB和Spring Web MVC 3.2.6 ModC依赖于Spring Web MVC 4.1.5 我得到了相当多的错误,因为ModA拉进来,使用的是Spring4.1.5而不是3.2.6。由于版本差异和时间,我现在无法将ModA更新到Spring4.1.5。我想做的是将Spring4.1.5从ModA Gradle

  • 我们目前正在开发一个Grails插件,该插件旨在成为几个不同应用程序的共享库。该插件围绕GORM和缓存进行管理,因此,它包括hibernate插件和cache和cache-ehcache插件。Hibernate和cache-ehcache插件都希望导入ehcache核心jar依赖项,但版本不同。我想要的ehcache核心版本是cache-ehcache插件中的版本,因此我已经配置了BuildCon

  • 我试图排除gradle中的传递依赖项 我看到这个错误 null 在类型为org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency的DefaultExternalModuleDependency{group='org.apache.kafka',name='kafka-streams',version

  • 它一定是很明显的东西,但出于某种原因,我在仔细观察了几个小时后错过了它… 我正在用Gradle 5.1.1构建一个遵循六边形体系结构的多模块Spring Boot项目,因此我有几个适配器,比如,其文件如下: 我可以建造它,没有问题。 C:\users\vf\ideaprojects\hexagonal-spring-boot-java\accept-test\src\main\java\packa

  • null null 尝试强制升级的错误日志:“无法解析配置”:reading-condermination-server-quarkus-impl:TestCompileClasspath“的所有文件。 无法解析JUnit:JUnit:4.13。要求方:project:reading-concermination-server-quarkus-impl>找不到满足版本约束的“junit:junit