簡體   English   中英

運行多模塊Maven項目

[英]Run a multi-module Maven project

這是一個基本問題,我只是不太熟悉Maven多模塊結構。 說,我有一個Web應用程序。 我想將一些模塊連接到它(某些服務)。 我是否需要僅將其中一個模塊(依賴於其他模塊)制作為一個Web應用程序,然后運行它? 一開始我以為我可以運行整個項目,但是這個選項在我的IDE中是無效的(我現在正在使用NetBeans),這使我認為我應該運行一個類似於主模塊的東西(在這種情況下為Web應用程序) )。 是這樣嗎? 提前致謝。

如果您有一個多模塊項目,則需要類似以下的結構,該結構也將由文件夾結構表示。

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

在模塊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>

在第2單元中,它看起來或多或少都相同。在戰爭模塊中,它看起來像:

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

如果您在模塊之間具有依賴關系,例如,模塊1依賴於模塊2,則它看起來像模塊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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM