首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven依赖项org.hibernate.validator 7.0.1.在项目中具有不同依赖关系的终结

Maven依赖项org.hibernate.validator 7.0.1.在项目中具有不同依赖关系的终结
EN

Stack Overflow用户
提问于 2021-12-29 09:13:47
回答 1查看 772关注 0票数 0

在两个不同的maven项目中,我们包含相同的依赖项:hibernate-validator 7.0.1.Final,如下所示:

代码语言:javascript
复制
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>7.0.1.Final</version>
        </dependency>

运行mvn dependency:list会给出以下结果。

项目A:

代码语言:javascript
复制
[INFO] +- org.hibernate.validator:hibernate-validator:jar:7.0.1.Final:compile
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.4.2.Final:compile
[INFO] |  \- com.fasterxml:classmate:jar:1.5.1:compile

为该项目运行mvn dependency:list-repositories提供:

代码语言:javascript
复制
[INFO] Repositories used by this build:
[INFO]        id: sonatype-nexus-snapshots
      url: https://oss.sonatype.org/content/repositories/snapshots
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => false, update => daily]

[INFO]        id: spy
      url: http://files.couchbase.com/maven2/
   layout: default
snapshots: [enabled => false, update => daily]
 releases: [enabled => true, update => daily]

[INFO]        id: apache.snapshots
      url: http://repository.apache.org/snapshots
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => false, update => daily]

[INFO]        id: apache.snapshots
      url: https://repository.apache.org/snapshots
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => false, update => daily]

[INFO]        id: shibboleth-repo
      url: https://build.shibboleth.net/nexus/content/repositories/releases/
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => true, update => daily]

[INFO]        id: central
      url: https://repo.maven.apache.org/maven2
   layout: default
snapshots: [enabled => false, update => daily]
 releases: [enabled => true, update => daily]

项目B:

代码语言:javascript
复制
[INFO] +- org.hibernate.validator:hibernate-validator:jar:7.0.1.Final:compile
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:3.0.0:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] |  \- com.fasterxml:classmate:jar:1.5.1:compile

为该项目运行mvn dependency:list-repositories提供:

代码语言:javascript
复制
[INFO] Repositories Used by this build:
[INFO]       id: central
      url: https://repo.maven.apache.org/maven2
   layout: default
snapshots: [enabled => false, update => daily]
 releases: [enabled => true, update => daily]

[INFO]       id: project.local
      url: file:C:\*****\*****/repo
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => true, update => daily]

[INFO]       id: apache.snapshots
      url: https://repository.apache.org/snapshots
   layout: default
snapshots: [enabled => true, update => daily]
 releases: [enabled => false, update => daily]

到目前为止,我认为依赖项的依赖关系总是一样的,考虑到版本是相同的,但是这个结果让我怀疑这一点。

这是否与项目中的其他依赖关系有关?这可能是项目使用不同存储库的结果吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-29 21:37:25

org.hibernate.validator:hibernate-validator:jar:7.0.1.Final的依赖项可以在MvnRespository上找到。此工件的编译依赖部分显示了使用jakarta.validation:jakarta.validation-api:jar:3.0.0和org.jboss.log:jboss:jar:3.4.1(除其他外)。

这意味着在项目A中,某些东西实际上覆盖了那些传递的依赖项。您可以查看下面的链接以获得更多的信息。基本上,项目api(或该项目的父pom )声明了对jakarta.validation-api和jboss的依赖关系,然后由Maven在搜索“最近的定义”依赖项时进行选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70517344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档