检测托管 Maven 依赖项的版本来源



我的软件中有一个复杂的传递依赖树。这些依赖项的版本由(可传递的)依赖项管理块管理。一个依赖项的有效版本不正确 (1.2.1 )。如果我转储依赖树,它会显示使用了此依赖关系的错误版本,例如:

com.example.artifact:1.2.1 (managed from 1.3.0-SNAPSHOT) [compile]

我找不到此无效版本的原因。依赖树没有多大帮助!如何找出特定托管版本的来源?

我知道

这个答案来得晚了好几年,但是在遇到同样的问题几分钟后,我可以通过以下方式解决它:

  1. 显式将传递依赖项添加到 pom .xml而不带版本标记:
<dependencies>
...
  <dependency>
    <groupId>com.example</groupId>
    <artifactId>artifact</artifactId>
  </dependency>
  1. 至少在 Eclipse IDE 中,您现在可以将鼠标悬停在工件上,工具提示将显示它的管理位置(通常是父pom.xml或具有作用域导入的依赖项)。 <scope>import</scope>

verbose 标志添加到maven-dependency-plugin应该可以帮助您:

mvn org.apache.maven.plugins:maven-dependency-plugin:3.5.0:tree -Dincludes=com.example:artifact -Dverbose=true

相关内容

  • 没有找到相关文章

最新更新