m2Eclipse dependencyManagement部分不显示图形

时间:2010-11-11 20:35:32

标签: java maven m2eclipse pom.xml

我不知道这是一个错误还是预期的功能,但m2Eclipse的POM编辑器有一个很棒的图形表示('Dependency Graph'选项卡)和树('Dependency Heirarchy'选项卡),如果依赖关系是在依赖部分都是他们自己。但是,当您将它们移动到“dependencyManagement”节点(对基于模块的项目有用)时,这些选项卡不再起作用。

有谁知道这是一个错误,预期功能等吗?

编辑#1:依赖关系管理部分中的依赖关系未在父级的依赖关系管理部分之外声明。他们在那里分享儿童模块;为了保持一致性(有一些标准贴在我们正在建模的地方)。

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

TIA

1 个答案:

答案 0 :(得分:2)

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

例如,我有一个父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>

和一个孩子POM:

  <dependencies>
    ...
    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    ...
  </dependencies>

孩子的依赖关系图正常工作:

alt text

您在dependencyManagement下移动的依赖项实际也是是否已声明为依赖项?您能否展示说明问题的简化pom.xml


  

工具在子模块级别工作。我指的是它不在父级别工作。

dependencyManagement元素中声明的依赖项不是项目的dependencies(如果我在foo中声明dependencyManagement,我仍然不依赖于{{1} }})。如果父母没有声明任何foo,则无需显示任何内容。