1

これは基本的な質問です。私はMavenマルチモジュール構造にあまり詳しくありません。たとえば、私はWebアプリケーションを持っています。そして、いくつかのモジュールをそれに接続したいと思います(いくつかのサービス)。Webアプリをモジュールの1つにし、他のモジュールに依存させてから実行する必要がありますか?最初はプロジェクト全体を実行できると思っていましたが、このオプションはIDEで非アクティブになっていることがわかり(現在NetBeansを使用しています)、メインモジュール(この場合はWebアプリ)のようなものを実行する必要があると思いました。 )。そうですか?前もって感謝します。

4

1 に答える 1

6

マルチモジュール プロジェクトがある場合は、次のような構造が必要です。これは、フォルダー構造によっても表されます。

+-- root (pom.xml)
     +--- module-1
     +--- module-2
     +--- module-war 

ルートモジュールには次のようなものが含まれています。

<project ..>

  <groupId>com.test.project</groupId>
  <artifactId>parent</artifactId>
  <version>1.0-SNAPSHOT</version>

  <modules>
    <module>module-1</module>
    <module>module-2</module>
    <module>module-war</module>
  </modules>

</project>

module-1 では、pom は次のようになります。

<project ..>
  <parent>
    <groupId>com.test.project</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>module-1</artifactId>

  dependencies for the module

</project>

module-2 では多かれ少なかれ同じように見えます..そして war モジュールでは次のようになります:

<project ..>
  <parent>
    <groupId>com.test.project</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <packaging>war</packaging>
  <artifactId>module-war</artifactId>

  dependencies for the module

</project>

たとえば、module-1 が module-2 に依存しているなど、モジュール間に依存関係がある場合、module-1 では次のようになります。

<project ..>
  <parent>
    <groupId>com.test.project</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>module-1</artifactId>

  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>module-2</artifactId>
      <version>{project.version}</version>
    </dependency>

    ..other dependencies..

  </dependencies>

</project>

プロジェクトをビルドしてパッケージ化するには、親フォルダーに移動して、単純に

mvn clean package
于 2012-04-29T11:26:35.467 に答える