1

初めてマルチモジュールのmavenpomを書いているとき、私は何か疑問に思います。

まず、ここで私の親の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>
    ...

とその子の1つ:

     ...
    <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

<parent>モジュール内 のセクションは必要ありません。

これは主に、各モジュールが独立している必要があることを意味します。親を介して構成セクションを共有することはできません。

于 2012-04-15T23:02:55.550 に答える
1

この例では、親要素が必要です。これは、GUIとサービス(サービスからdaoへも)の間に依存関係があるためです。さらに、モジュール間の依存関係を定義して、どのモジュールがどのモジュールを使用しているかを確認する必要があります。一方、Mavenは、重要なモジュールのビルドの順序を予測するためにこの情報を必要とします。このような関係を持つことの次の利点は、親モジュールや他の多くのもので依存関係のプラグイン/バージョンを定義できることです。

于 2012-04-16T10:50:58.287 に答える