我在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。
答案 0 :(得分:50)
该消息基本上意味着servlet-api的version
传递性地为2.3(因此基本上在commons-logging的pom中它们定义了版本为2.3的servlet-api),但是版本2.5特别要求在你的项目,这就是所使用的。
范围也是如此。在commons-logging的pom中,它使用范围compile
定义,但是您使用范围provided
定义它,因此再次使用范围。
答案 1 :(得分:6)
这意味着您的项目已覆盖其他依赖项中的version
和scope
。