Maven 2 使用Maven 2管理依赖项
我有一个web应用程序,有100多个jar文件被Maven拖拽,事情有点失控 例如,我最终得到了3个版本的Spring核心类,这有时会导致应用程序部署失败(从WEB-INF/lib加载JAR的顺序似乎与Weblogic并不总是相同): 所以我正在努力收拾残局。我开始主要使用排除,但我想知道我是否不应该在自己的pom文件中依赖dependencyManagement元素。这方面的最佳实践是什么 此外,通常不指定可传递依赖项的版本。例如,在spring security core 2.0.5.RELEASE pom文件中有:Maven 2 使用Maven 2管理依赖项,maven-2,dependencies,Maven 2,Dependencies,我有一个web应用程序,有100多个jar文件被Maven拖拽,事情有点失控 例如,我最终得到了3个版本的Spring核心类,这有时会导致应用程序部署失败(从WEB-INF/lib加载JAR的顺序似乎与Weblogic并不总是相同): 所以我正在努力收拾残局。我开始主要使用排除,但我想知道我是否不应该在自己的pom文件中依赖dependencyManagement元素。这方面的最佳实践是什么 此外,通常不指定可传递依赖项的版本。例如,在spring security core 2.0.5.REL
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
org.springframework
弹簧芯
如果我没有指定任何内容,将加载哪个版本的spring core?有最新的吗?它会随着时间而改变吗
谢谢
所以我正在努力收拾残局。我开始主要使用排除,但我想知道我是否不应该在自己的pom文件中依赖dependencyManagement元素。这方面的最佳实践是什么
- 您肯定应该使用元素来控制可传递依赖项中工件的版本,这就是方法
- 您还可以创建POM来创建
- 当
或groupId
不匹配时(例如artifactId
和单片spring-core
jar),使用spring
excludes
dependencyManagement
部分中声明。版本是2.0.8。对于这个发布的工件,它不会随时间而改变
如果您想控制这个可传递依赖项的版本,请使用我编写的dependencyManagement
元素
别忘了
mvn依赖:tree
(或任何图形化前端),ti是你最好的武器。非常完整和有用的答案。我已经在eclipse中使用了一个可视化依赖:树,它帮助我发现了问题,但我更想知道如何修复它。谢谢。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>