【问题标题】:Maven- Significance of ordering of dependencies in POM.xmlMaven-POM.xml 中依赖项排序的意义
【发布时间】:2013-11-06 04:54:43
【问题描述】:

pom.xml中的依赖有什么意义?

我有以下顺序的依赖项:

  1. CGLIB
  2. Apache Commons
  3. 弹簧数据
  4. 休眠
  5. MySQL 连接器
  6. 春天

如果我在 Spring 之上插入 Spring Security 依赖项,任何地方都会出错。例如,如果我在最顶部插入两个依赖项,我会得到这个异常(也是运行前的编译器错误):

java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable

【问题讨论】:

  • 分享你的pom,这样很难说。

标签: java spring maven pom.xml


【解决方案1】:

依赖顺序在 Maven 中无关紧要。

添加 Spring Security 依赖项后,您需要删除 Spring 依赖项,因为 Spring Security 引用了包含此类的不同版本的 Spring。

所以删除 Spring 依赖应该可以解决这个问题。

【讨论】:

  • 所以你的意思是不能有 2 个不同的依赖项指向不同版本的 spring 或任何其他项目?
  • 如果这些是传递依赖,Maven 应该能够解决正确的依赖。在这种情况下,@chinmayzen 指向 Maven 覆盖依赖项(Spring),它应该自动解析为可传递的,这会导致版本不一致。
  • 谢谢。我也在阅读这篇文章以了解问题:javacodegeeks.com/2013/05/spring-security-with-maven.html(仅供参考)
猜你喜欢
  • 1970-01-01
  • 2019-04-16
  • 2014-02-19
  • 1970-01-01
  • 2021-11-23
  • 2021-11-16
  • 2022-01-20
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多