我有 servlet-api 版本 2.5 作为 pom.xml 中提供的范围。这是我的项目的 dependency:tree 输出的一部分。 “版本从 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 http://en.wikipedia.org/wiki/WAR_%28Sun_file_format%29文件根本没有 servlet-api jar,但我确实使用旧版本Spring http://en.wikipedia.org/wiki/Spring_Framework2.5.4.我怀疑 Spring 框架依赖于 servlet-api 2.3。
该消息的基本意思是version
servlet-api 的版本会传递性地为 2.3(所以基本上在 commons-logging 的 pom 中,他们使用版本 2.3 定义 servlet-api),但是在您的项目中特别要求使用 2.5 版本,所以这就是所使用的版本。
范围也是如此。在 commons-logging 的 pom 中,它是用范围定义的compile
,但你已经用范围定义了它provided
,这又是所使用的范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)