我不知道这是错误还是预期的功能,但是如果m2Eclipse的POM编辑器的依赖项位于所有依赖项中,则它们具有出色的图形表示(“Dependency Graph”选项卡)和树(“Dependency Heirarchy”选项卡)通过他们自己。但是,当您将它们移到“dependencyManagement”节点(对基于模块的项目很有用)时,这些选项卡将不再起作用。

有谁知道这是否是错误,预期的功能等?

编辑#1:依赖项管理部分中的依赖项不在父级的依赖项管理部分之外声明。它们在那里共享子模块。保持一致性(在我们建模的某个地方发布了一些标准)。

编辑#2:该工具在子模块级别工作。我指的是它在父级上不起作用。

TIA

最佳答案

我有在dependencyManagement下声明了依赖项的POM,它们只是按预期显示在依赖关系图 Dependency Hierarchy 选项卡中。

例如,我有一个具有以下内容的父POM:

  <dependencyManagement>
    <dependencies>
      <!-- SL4J API -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <!-- SLF4J JDK14 Binding  -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      ...
    </dependencyManagement>

以及一个带有以下内容的 child POM:
  <dependencies>
    ...
    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    ...
  </dependencies>

并且 child 的依赖图可以正常工作:

您在dependencyManagement下移动的依赖项实际上是还是声明为依赖项?您可以显示简化的pom.xml来说明问题吗?



dependencyManagement元素中声明的依赖项不是项目的dependencies(如果我在foo中声明dependencyManagement,那么我仍然不依赖foo)。如果 parent 没有声明任何dependencies,则没有任何显示。

10-01 05:02