忍受我,我從Ant遷移到Maven2:我想我已經擊中了Ant中很容易實現的一些小東西,但在Maven中並非如此...Maven:本地開發部署vs捆綁分發
如何處理本地部署與創建用於分配的存檔/束到另一臺機器之間的區別?
我們假設我的項目輸出是一個EAR加上一些額外的配置文件。一個開發商當前正在從事的項目將需要部署和頻繁地重新部署到自己的本地應用程序服務器(比如JBoss的),而一個集成工程師正在建設QA /生產將只需要創建最終檔案彙編(tar/gz)。
在Ant中,我們有兩個目標:「dev-deploy」和「bundle」。兩者都做了完整的構建,但在最後一步有所不同:「dev-deploy」將EAR和配置文件複製到各自的本地文件夾,而「bundle」僅將EAR &配置文件放入tar.gz程序集中。
你如何在Maven中做到這一點?
我已經看到程序集插件可以創建存檔(tar,gz等)或分解目錄(來自同一個程序集描述符)。我可以調用程序集:程序集或程序集:目錄,但對於後者,如何將最終輸出複製到本地JBoss部署文件夾?從related post看來,臨時複製文件並不是真正Maven的意思,所以antrun副本可能是最合適的?
最後,由於裝配的類型可能取決於誰調用它不同,它似乎並不明智綁定組件,以構建週期,不是這樣呢?但是這意味着開發者總是需要調用'mvn包',然後'mvn程序集:目錄'來重建和測試更改。相反,集成工程師將始終需要運行'mvn程序包',然後執行'mvn程序集:程序集'以創建可分發的歸檔。我希望爲每個解決方案提供單一命令解決方案,還是應該編寫腳本?
Thanks @Pascal。是的,我對任何事情都不太清楚:基本上,對於*開發人員*場景,我只是簡單地將工件複製到同一臺計算機上的某些文件夾(開發人員的PC),而對於集成工程師,我想生成一個程序集(tar.gz)他可以運送到另一臺機器。你說得對,我忘了我可以將不同的裝配配置綁定到我的配置文件。這似乎是最好的解決方案。 – 2009-12-21 10:34:31
+1 - 絕對使用具有獨立程序集的配置文件來生成特定的構建工件,就像您所描述的那樣。這是做到這一點的最佳途徑。 – whaley 2009-12-22 03:38:58