在Eclipse中,当我转到Maven Dependency Hierarchy页面时,得到的输出
指出什么冲突导致版本被省略:
Eclipse Maven版本
但是,如果我使用dependency:tree,则将
其省略,而我只会看到实际使用的evrsions :
| +- commons-httpclient:commons-httpclient:jar:3.1:compile
| +- commons-codec:commons-codec:jar:1.4:compile
| +- commons-io:commons-io:jar:2.4:compile
| +- commons-net:commons-net:jar:3.1:compile
| +- javax.servlet:servlet-api:jar:2.5:compile
And later on the actually referenced versions…
+- commons-collections:commons-collections:jar:3.1:compile
Is there any way to get dependency:tree to output the versions omitted for
conflict?
Thanks!
是的,您可以通过将
verbose
属性设置为来避免遗漏的工件true
:
是否在序列化依赖关系树中包括省略的节点。
此属性默认为false
。在命令行上,您将拥有
mvn dependency:tree -Dverbose=true
Maven正在过渡地使用guava的第16版,尽管我有一个 快速总结: 取决于 有一个父pom,
我用我的真实情况来说明问题。 我使用logback 1.0.1进行日志记录,它包含SLF4J 1.6.4作为依赖项。我还为遗留日志API(Java . util . logging、log4j和commons-logging)使用SLF4J API桥,它们不是显式的依赖关系。这些也必须(最好)是版本1.6.4。 为了使我的pom.xml尽可能整洁和无错误,我想强制这些API桥接器与SLF4J版本相
MVNRepository通常为每个依赖项列出“版本”和“更新”。 如果我发布自己的包,如何指定“更新”版本 Maven在解决传递依赖时使用了哪个依赖项?所以如果我的包依赖于包A,它依赖于包B,版本=1.0,更新=1.1。我会得到哪个版本的B?
问题内容: Maven常见的调试技术是使用mvndependency:tree查看项目依赖关系图。 但是,此列表显示项目依赖关系,而不是每个插件的插件依赖关系树。有什么办法可以从项目中做到这一点吗? 问题答案: 通过mvn -X的输出将间接打印出信息。当前没有其他选择来获取Maven-Plugin的依赖项。 更新 您可以使用以下命令获取插件依赖项列表(依赖项插件中的resolve- plugin目
我试图从命令行显示我正在使用maven dependency插件版本3.1.2开发的项目的完整依赖关系树,但是目标(以及maven dependency插件中的任何其他目标)没有显示依赖关系。插件的文档(https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html)声明默认情况下包含所有作用域,因此不需要使用-Dsc
问题内容: 最近,我一直在研究前一段时间开发的项目中的一些改进,这就是我所发现的。pom文件中的许多依赖项都没有指定版本,但是已经解决了。该项目包含1个根模块和2个子模块。使用了Aggregator模式,这意味着根本没有dependencyManagement部分。上层项目仅聚合了2个模块,仅此而已。子项目并不将其称为父项。他们有不同的父母。我无法理解的是,子项目本身或它们的父项(事实上,它也没有