2014-06-30 54 views
0

爲了減少多模塊maven項目的構建時間,我想擁有自己的部署檔案項目。maven assembly插件添加依賴項的某些文件在依賴項中不可用JAR

我們有一些獨立的批量使用maven-assembly-plugin作爲.ZIP提供。由於目前包裝的ZIP從withing直接完成批模塊構建其沒有問題,有ZIP這裏面的兩件事情:

    所有的dependency-罐(包括我們的所有批次的Jar)
  • /lib目錄
  • /腳本文件夾不包含在模塊的批處理jar文件夾中,也不包含在/ target文件夾中。包含用於開發的一些.BATs/.CMD和.properties。

當談到有一個自己的項目,以建立一個ZIP我沒有問題,讓我們的dependencys(包括我們的包含所有基於Java批次批次罐和東西),但我不知道如何以包括/腳本文件夾不是模塊/目標輸出的一部分。

我設法得到它在一起的唯一方式是由具有相對定義到該文件夾​​看起來像這樣:

<fileSet> 
     <directory>${basedir}../my-batches-project/src/main/scripts</directory> 
     <includes> 
      <include>*</include> 
     </includes> 
     <outputDirectory>/scripts</outputDirectory> 
</fileSet> 

這隻能如果新項目已簽出在同一水平多模塊項目。 我想知道是否有更好的方式來包含一個maven項目的某些文件。

編輯:

頂撞一些隊友我們決定在上述兩個項目中重複提到/腳本文件夾中。在構建ZIP的部署項目中,它將保留在src/main/scripts下,而在批處理模塊中,它將駐留在src/test/scripts中以允許批處理的本地執行...但是我不喜歡這樣。

回答

0

一種合法的方法是在他們自己的模塊中維護所需的資源,以jar/zip形式將其填充到存儲庫中,並在上述兩個項目中都具有對新的maven模塊的依賴關係。

我們認爲這是一個過度工程化的解決方案,我們目前認爲,我們的批量包裝非常部署關閉的ZIP發生在指定的構建服務器上,其他「僅用於生產」文件我們的「僅用於開發」文件被替換爲我們可以與相對路徑一起生活,因爲我們的每個Maven項目都在此構建服務器上籤出。

相關問題