检测版本';s托管Maven依赖项的起源

检测版本';s托管Maven依赖项的起源,maven,dependency-management,Maven,Dependency Management,我的软件中有一个复杂的可传递依赖关系树。这些依赖项的版本由(可传递的)依赖项管理块管理。一个依赖项的有效版本不正确(1.2.1)。如果我转储依赖关系树,它会显示使用了此依赖关系的不正确版本,例如: com.example.artifact:1.2.1 (managed from 1.3.0-SNAPSHOT) [compile] 我找不到此无效版本的原因。依赖关系树没有多大帮助!如何找到特定托管版本的来源?我知道这个答案迟了几年才给出,但几分钟后,我就可以解决同样的问题: 显式地将可传递依赖项

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

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

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

我知道这个答案迟了几年才给出,但几分钟后,我就可以解决同样的问题:

  • 显式地将可传递依赖项添加到pom.xml(不带版本标记):
  • 
    ...
    com.example
    人工制品
    
  • 至少在EclipseIDE中,您现在可以将鼠标悬停在工件上,工具提示将显示它的管理位置(通常是父级
    pom.xml
    或具有范围导入的依赖项)<代码>导入

  • 我知道这个答案迟了几年才给出,但几分钟后,我就可以解决同样的问题:

  • 显式地将可传递依赖项添加到pom.xml(不带版本标记):
  • 
    ...
    com.example
    人工制品
    
  • 至少在EclipseIDE中,您现在可以将鼠标悬停在工件上,工具提示将显示它的管理位置(通常是父级
    pom.xml
    或具有范围导入的依赖项)<代码>导入

  • 依赖关系树是否向您显示了需要此可传递依赖关系的工件?确实如此。此工件建议将
    1.3.0-SNAPSHOT
    作为所需版本(表示正确的版本)。但是它也有一个管理块,它用不正确的(
    1.2.1
    )覆盖了这个版本。依赖关系管理块是否在项目pom中?依赖关系管理块是否在所有pom中。依赖关系树是否向您显示了需要此可传递依赖关系的工件?确实如此。此工件建议将
    1.3.0-SNAPSHOT
    作为所需版本(表示正确的版本)。但它也有一个管理块,该管理块会用不正确的版本覆盖此版本(
    1.2.1
    )。依赖关系管理块是否在项目pom中?依赖关系管理块是否在所有pom中。
    <dependencies>
    ...
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>artifact</artifactId>
      </dependency>