我正在研究POM Maven公司的结构。我想要一个类似下面例子的结构。现在我有两个问题!
欢迎所有反馈,建议等。提前谢谢!
公司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>
答案 0 :(得分:1)
Maven子项目不会“调用”父项目。 POM是声明性的,而不是命令式的。与Java类继承类似,子类获取父级的设置,可以覆盖它们或添加新的设置。请参阅Maven, POM Reference, 2.2.2. Inheritance。
所以,不,你不必再次在子项目中声明父项目的许可设置,如果它们在那里应该是相同的。