【发布时间】:2015-09-04 04:19:57
【问题描述】:
我正在研究公司的 POM Maven 结构。我想要一个类似下面例子的结构。现在我有两个问题!
- 项目是否可以调用父 pom? (考虑到 它们都安装在本地 Maven 存储库中)。
- 如果我将许可证块添加到公司 POM,我是否必须添加到 项目 POM 一个新的许可证块?
欢迎所有反馈、建议等。提前谢谢!
公司
公司POM
包含组织信息,不多。
<groupId>org.company</groupId>
<artifactId>company</artifactId>
<version>1</version>
<modules>
<module>company-parent</module>
</modules>
公司父 POM
为所有项目定义基本依赖项/插件(管理)。
<parent>
<groupId>org.company</groupId>
<artifactId>company</artifactId>
<version>1</version>
</parent>
<artifactId>company-parent</artifactId>
项目
项目 POM
基于项目的组织信息(开发人员等)。
<parent>
<groupId>org.company</groupId>
<artifactId>company-parent</artifactId>
<version>1</version>
</parent>
<groupId>org.company.project</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<modules>
<module>project-parent</module>
</modules>
项目父 POM
为当前项目定义使用的依赖项/插件(管理)。
<parent>
<groupId>org.company.project</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
</parent>
<artifactId>project-parent</artifactId>
<modules>
<module>company-module-1</module>
<module>company-module-2</module>
<module>company-module-3</module>
</modules>
项目模块 POM 的
每个模块都有自己的 buid、依赖项和东西。
模块 1
<parent>
<groupId>org.company.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>project-module-1</artifactId>
模块 2
<parent>
<groupId>org.company.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>project-module-2</artifactId>
模块 3
<parent>
<groupId>org.company.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>project-module-3</artifactId>
【问题讨论】: