1

在第一次编写多模块 maven pom 时,我想知道一些事情。

首先,这里是我的父母 pom :

    ...
    <modelVersion>4.0.0</modelVersion>
    <groupId>project.room_management</groupId>
    <artifactId>room_management</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <name>room_management</name>
    <modules>
        <module>room_management_dao</module>
        <module>room_management_domain</module>
        <module>room_management_service</module>
        <module>room_management_gui</module>
    </modules>
    ...

和它的一个孩子:

     ...
    <parent>
        <groupId>project.room_management</groupId>
        <artifactId>room_management</artifactId>
        <version>1.0</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>project.room_management</groupId>
    <artifactId>room_management_domain</artifactId>
    <version>1.0</version>
   ...

考虑到我不需要从父级到子级 pom 共享公共模块,我可以在没有“风险”的情况下将父级声明删除到子级 pom 中吗?或者 Maven 确实需要它来编译模块?

4

2 回答 2

1

在此示例中,您需要父元素,因为您在 gui 和您的服务之间存在依赖关系(服务到 dao 也是如此)。此外,您需要定义模块之间的依赖关系以查看哪个模块使用哪个模块。另一方面,maven 需要这些信息来预测重要的模块的构建顺序。拥有这种关系的下一个优点是您可以在父模块和许多其他东西中定义依赖项的插件/版本。

于 2012-04-16T10:50:58.287 回答
1

您不需要<parent>模块中的部分。

这主要意味着每个模块必须是独立的——您不能通过父模块共享配置部分。

于 2012-04-15T23:02:55.550 回答