我不知道这是错误还是预期的功能,但是如果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
,则没有任何显示。