如何读取Maven依赖树

时间:2013-11-25 10:08:03

标签: java maven

我在pom.xml中提供了servlet-api 2.5版。这是依赖项的一部分:我的项目的树输出。 “从2.3管理的版本;从编译管理的范围”是什么意思?

[INFO] +- commons-logging:commons-logging:jar:1.1:compile
[INFO] |  \- javax.servlet:servlet-api:jar:2.5:provided (version managed from 2.3; scope managed from compile)

这是否意味着我的类路径上版本2.3存在一些传递依赖?我的WAR文件根本没有servlet-api jar,但我确实使用旧版本的Spring 2.5.4。我怀疑Spring框架依赖于servlet-api 2.3。

2 个答案:

答案 0 :(得分:50)

该消息基本上意味着servlet-api的version传递性地为2.3(因此基本上在commons-logging的pom中它们定义了版本为2.3的servlet-api),但是版本2.5特别要求在你的项目,这就是所使用的。

范围也是如此。在commons-logging的pom中,它使用范围compile定义,但是您使用范围provided定义它,因此再次使用范围。

答案 1 :(得分:6)

这意味着您的项目已覆盖其他依赖项中的versionscope