2012-08-23 42 views
0

所以我有不知道maven的部署人員,不應該知道它。他們所需要的只是戰爭的新構建。通過我們的系統,我嚴重懷疑我們可以使用任何東西,例如使用插件進行自動部署,所以Tomcat插件就沒有了。另外,由於我們的SCM不受支持,因此我不能簡單地擁有依賴於其他項目的項目......除非在項目位於本地子目錄中時才能完成此項目。最重要的是,我也沒有寫入組織回購的權限。這可能意味着我不能發佈maven的方式,或者如果我可以的話,它會使這種毫無意義。我可以在多模塊項目的基礎構建一場戰爭嗎?

我想知道的是,如果存在一個組件(模塊?)構建結構,它將生成的歸檔文件包含在項目的基礎中,這樣他們就不必在混雜的多餘組件中查找它,組件,配置文件等。

回答

1

您可以使用maven-dependency-plugin。生成後,生成的戰爭文件將被複制到您選擇的文件夾中。

例如,讓我們假設你有以下文件結構(它可以很容易地適應):

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

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

+0

不幸的是,由於我使用了另一個插件,它無法從基礎構建。 : - / – user447607

0

與其在您的POM中反映這一點,我會在您的構建工具(例如Jenkins)中將該副本作爲構建後行爲來執行。

相關問題