5

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

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

编辑#1:依赖管理部分中的依赖关系未在父项的依赖管理部分之外声明。它们可以在子模块之间共享;为了保持一致性(我们正在建模的地方发布了一些标准)。

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

TIA

4

1 回答 1

2

我有 POM,其下声明了依赖项dependencyManagement,它们只是在Dependency GraphDependency 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>

还有一个子 POM:

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

并且孩子的依赖图只是工作:

替代文字

您移动的依赖项dependencyManagement实际上是否也被声明为依赖项?你能展示一个简化pom.xml的说明问题吗?


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

dependencyManagement在元素中声明的依赖项不dependencies属于项目(如果我foo在 中声明dependencyManagement,我仍然不依赖于foo)。如果父级没有声明 any dependencies,则没有什么可显示的。

于 2010-11-11T21:15:56.777 回答