2012-07-21 22 views
0

我有幾個基於Maven的Java Web應用程序,我沒有發佈,只部署。管理Java EE Web應用程序工件版本是否值得?

我已經意識到了很長一段時間,我都沒有改變版本生產文物,因爲它只會增加工作 - 改變所有版本的依賴等

即使我在一個團隊中工作,我們不關心版本,並且一直都有1.0.0-SNAPSHOT,而是共享代碼並重建所有。

我的問題:我會用什麼工件版本?我錯過了一些利用它的好方法嗎?

更新:這個問題是不是關於證明Maven和依賴關係的證明。這是關於我的網絡應用程序的版本。

+0

我不這麼認爲。我個人認爲,Maven太複雜,並且限制它爲它提供的好處帶來價值。螞蟻和常春藤更簡單。 – duffymo 2012-07-21 23:26:26

+0

Maven有很多構建Web應用程序的內置功能。對於初學者來說,它實際上更簡單。 ANT另一方面要求你知道如何編寫編譯和彙編邏輯。 – 2012-07-22 11:09:31

回答

0

基於自己的經驗,我決定不跟蹤web應用程序的工件版本。由於它不公開,我們是一個小團隊,所以我們只使用git標籤進行版本控制,並始終將maven工件保留爲1.0-SNAPSHOT。

0

我假設這個問題真的是證明使用Maven的開銷嗎?在這種情況下,它涉及到以下幾點:

在我看來版本的二進制文件是一樣的版本源一樣重要:

  • 如果依靠第三方軟件圖書館,他們隨着時間而改變。這些庫反過來依賴於其他庫。開源的世界迅速發展,儘管它並不好玩,至少像Maven/ivy這樣的工具爲我們提供了工具來管理它。
  • 隨着時間的推移,您發佈的軟件會發生變化。假設你有幾個開發人員,曾經注意到你的部署環境中發生了一些你無法重現的奇怪事情?如果沒有二進制版本,您如何回滾或重新創建問題?
  • 假設最糟糕的是,如果直接從開發人員的個人電腦進行部署,您怎麼能確定他/她實際上已經做出了這些更改?

爲了獲得Maven的全部力量,我強烈推薦在本地使用像Maven倉庫管理器Nexus這樣的Maven倉庫管理器。除了幫助第三方依賴項外,它也是存儲應用程序版本的理想之地。即使您繼續生成1.0.0-SNAPSHOT,Nexus也會確保每個應用程序的構建都作爲獨特的時間戳修訂版存儲在存儲庫中。隨着時間的推移,Nexus可以配置爲清除舊的SNAPSHOTS。

相關問題