gpt4 book ai didi

java - 公司Maven POM嵌套结构

转载 作者:行者123 更新时间:2023-11-30 10:58:09 25 4
gpt4 key购买 nike

嗯,我正在研究公司的 POM Maven 结构。我想要一个类似于下面示例的结构。现在我有两个问题!

  • 项目调用父 pom 是否可行? (考虑它们都安装在本地 Maven 存储库中)。
  • 如果我向公司 POM 添加许可证 block ,我是否必须添加到项目 POM 一个新的许可证 block ?

欢迎所有反馈、建议等。提前致谢!

公司

公司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>

最佳答案

Maven 子项目不会“调用” 父项目。 POM 是声明性的,而不是强制性的。类似于 Java 类继承,子级获取父级的设置并可以覆盖它们或添加新的设置。参见 Maven, POM Reference, 2.2.2. Inheritance .

所以,不,如果父项目的许可设置在子项目中应该是相同的,那么您不必在子项目中再次声明父项目的许可设置。

关于java - 公司Maven POM嵌套结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32383975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com