【发布时间】:2014-04-27 05:23:46
【问题描述】:
在我的 Maven 设置中,我有以下目录结构
.
|-- parent
| `-- pom.xml
|-- module1
| |-- src...
| `-- pom.xml
|-- more modules...
`-- pom.xml
每个模块的 pom 都有 parent/pom.xml 作为父级,以重新组合一般信息(例如 distributionManagement)
根 pom.xml 只是为了允许一键构建和部署所有模块,所以它有包装 pom 并列出所有模块。
当我在根 pom 上调用“部署”时,所有构建和部署都很好,但最后,根项目本身失败了(因为它缺少 distributionManagement 元素)。
为什么 Maven 想要构建和部署那个根 pom?据我了解,这只是构建所有模块的某种捷径。真的没有什么可部署的,或者里面没有项目相关的数据。
我可以而且应该尽量避免部署那个 pom?
注意:将distributionManagement 添加到根 pom 或使根 pom 本身继承自 parent/pom.xml 的解决方法是构建问题的解决方案 - 我现在更感兴趣的是了解这是否是真的有必要以及为什么。
【问题讨论】:
标签: maven inheritance pom.xml aggregation