当我有一个包含POM的项目时,例如像这样:
<dependency>
<groupId>org.jboss.arquillian</groupId
<artifactId>arquillian-bom</artifactId
<version>1.1.2.Final</version>
<type>pom</type
<scope>test</scope>
</dependency>
然后POM真的下载到我的本地存储库。并且POM包含一个依赖项列表(我可以检查我的本地仓库中的POM文件,有依赖管理标记,并列出了很多依赖项,例如arquillian-config-api,shrinkwrap-descriptors-bom等。 。),但这些依赖项未列在mvn依赖项:tree中。依赖关系树如下所示:
...
\- org.jboss.arquillian:arquillian-bom:pom:1.1.2.Final:test
(no more lines below it)
...
但实际上我希望Maven会将这些依赖项显示为传递依赖项。当依赖关系的类型是JAR类型时,实际上会显示传递依赖关系。
不知何故,我认为我不明白使用Maven时输入“pom”的含义是什么。
到目前为止,我认为它只是意味着它不是一个工件,而是一个插入POM中的POM。因此,当我包含POM类型的依赖项时,包含POM类型依赖项的依赖项。
但似乎我错了,互联网上的Maven文档并没有帮助我解决这个问题。
有什么想法吗?
答案 0 :(得分:0)
POM类型依赖关系通常用于指示父子关系依赖关系层次结构中的父项目。默认情况下,POM类型项目工件不会在maven反应器中展开。只有在反应堆中构建了jar,war等具体类型时,才会为调试日志记录创建和扩展依赖关系。
但你不应该担心它。如果你想交叉检查这些,那么POM编辑器中的eclipse pom依赖层次结构和有效的pom选项卡应该会有所帮助。