簡體   English   中英

我可以在多模塊項目的基礎pom中打仗嗎?

[英]Can I build a war in the base pom of a multi-module project?

所以我有一些部署專家,他們不了解Maven,也不必了解它。 他們所需要的只是戰爭的新生力量。 對於我們的系統,我嚴重懷疑我們是否可以使用通過插件進行自動部署之類的方法,因此Tomcat插件已淘汰。 而且我不能簡單地擁有一個依賴於其他項目的項目,因為不支持我們的SCM ...除非當項目位於本地子目錄中時才能這樣做。 最重要的是,我也沒有對組織存儲庫的寫權限。 可能這意味着我無法發布行家方式,或者如果可以的話,它將變得毫無意義。

我想知道的是,是否存在一個組件(模塊?)構建結構,該結構將生成的歸檔保存在項目的基礎中,從而使他們不必在大量令人困惑的組件,組件,配置文件中尋找它等

您可能可以使用maven-dependency-plugin 構建完成后,生成的war文件將被復制到您選擇的文件夾中。

例如,假設您具有以下文件結構(可以輕松修改):

- parent folder
   |- child one (jar)
   |- child two (war)

要將兩個孩子的 war文件復制到父文件夾/目標目錄中,可以在兩個孩子模塊的pom中包含以下聲明。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.5</version>
    <executions>
      <execution>
        <id>copy</id>
        <phase>install</phase>
        <goals>
          <goal>copy</goal>
        </goals>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>${groupId}</groupId>
              <artifactId>${artifactId}</artifactId>
              <version>${version}</version>
              <overWrite>true</overWrite>
              <outputDirectory>${basedir}/../target</outputDirectory>
              <destFileName>${artifactId}.jar</destFileName>
            </artifactItem>
          </artifactItems>
        </configuration>
      </execution>
   </executions>
</plugin>

該插件非常方便,因為您甚至可以指定一個完全不同的目標文件夾(而不是層次結構的一部分)。

與其在您的POM中反映這一點,不如在您的構建工具(例如Jenkins)中將復制作為構建后的動作來進行。

暫無
暫無

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

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