我的软件中有复杂的可传递依赖关系树。这些依赖关系的版本由(可传递)依赖关系管理块管理。一个依赖关系的有效版本不正确(1.2.1)。如果我转储依赖关系树,它会显示使用了此依赖关系的不正确版本,例如:
1.2.1
com.example.artifact:1.2.1 (managed from 1.3.0-SNAPSHOT) [compile]
我找不到此无效版本的原因。依赖关系树没有多大帮助!我如何找到特定托管版本的来源?
7lrncoxx1#
我知道这个答案来得晚了很多年,但几分钟后,同样的问题我可以通过以下方式解决:1.将传递依赖项显式添加到不带version标记的pom.xml:
<dependencies> ... <dependency> <groupId>com.example</groupId> <artifactId>artifact</artifactId> </dependency>
1.至少在EclipseIDE中,您现在可以将鼠标悬停在工件上,工具提示将显示它的管理位置(通常是父pom.xml或具有***scopeimport***的依赖项)。
pom.xml
aamkag612#
将verbose标志添加到maven-dependency-plugin应该可以帮助您:
verbose
maven-dependency-plugin
mvn org.apache.maven.plugins:maven-dependency-plugin:3.5.0:tree -Dincludes=com.example:artifact -Dverbose=true
2条答案
按热度按时间7lrncoxx1#
我知道这个答案来得晚了很多年,但几分钟后,同样的问题我可以通过以下方式解决:
1.将传递依赖项显式添加到不带version标记的pom.xml:
1.至少在EclipseIDE中,您现在可以将鼠标悬停在工件上,工具提示将显示它的管理位置(通常是父
pom.xml
或具有***scopeimport***的依赖项)。aamkag612#
将
verbose
标志添加到maven-dependency-plugin
应该可以帮助您: