【发布时间】:2011-01-12 17:18:52
【问题描述】:
我想在 Maven 2.2.1 的子项目中继承(父)pom.xml 的依赖项;即使用项目继承。在这种情况下,似乎有必要将默认包装类型从jar 更改为pom。
但是,the Maven2 documentation 不是声明打包类型 pom 是项目聚合所必需的,即使用子模块但不是项目继承的多模块项目?
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example-parent</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
</project>
<project>
<parent>
<groupId>example</groupId>
<artifactId>example-parent</artifactId>
<version>1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example-child</artifactId>
</project>
但是如果你用上面的配置调用 Maven(例如mvn clean),你会得到一个错误:
Project ID: example:example-child
Reason: Parent: example:example-parent:jar:1
of project: example:example-child has wrong packaging: jar.
Must be 'pom'. for project example:example-child
另一方面,使用以下条目:
<project>
...
<packaging>pom</packaging>
...
</project>
在父pom.xml中,Maven可以正常执行。
Maven的这种行为正确吗?
【问题讨论】:
标签: inheritance maven-2 packaging pom.xml