【问题标题】:Company Maven POM nested structure公司 Maven POM 嵌套结构
【发布时间】: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>

【问题讨论】:

    标签: java maven


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多