【发布时间】:2020-06-24 01:00:26
【问题描述】:
我正在使用 maven 构建一个 java 项目,我注意到其中一个子项目包含 jsonwebtoken 0.7.0。
https://github.com/WebGoat/WebGoat/blob/develop/webgoat-lessons/challenge/pom.xml
然后从maven repo (https://repo1.maven.org/maven2/io/jsonwebtoken/jjwt/0.7.0/jjwt-0.7.0.pom),jsonwebtoken 0.7.0 有一个jackson-databind v2.8.2的依赖;
但是,当我从 maven 调试日志中跟踪时,jackson-databind v2.10 实际上是由 maven 拉取的。
我知道如果组件版本没有在 POM 中明确定义,maven 会默认为最新,但是,在上述情况下,为什么 maven 仍然选择将版本覆盖为最新?
谢谢!
【问题讨论】:
-
使用
mvn dependency:tree查找树。这对您将来也有帮助。 -
这是一篇关于该主题的长篇但非常有用的读物:maven.apache.org/guides/introduction/…