讀古今文學網 > Maven實戰 > 1.1.2 Maven是優秀的構建工具 >

1.1.2 Maven是優秀的構建工具

前面介紹了Maven的用途之一是服務於構建,它是一個異常強大的構建工具,能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。我們不需要也不應該一遍又一遍地輸入命令,一次又一次地點擊鼠標,我們要做的是使用Maven配置好項目,然後輸入簡單的命令(如mvn clean install),Maven會幫我們處理那些煩瑣的任務。

Maven是跨平台的,這意味著無論是在Windows上,還是在Linux或者Mac上,都可以使用同樣的命令。

我們一直在不停地尋找避免重複的方法。設計的重複、編碼的重複、文檔的重複,當然還有構建的重複。Maven最大化地消除了構建的重複,抽像了構建生命週期,並且為絕大部分的構建任務提供了已實現的插件,我們不再需要定義過程,甚至不需要再去實現這些過程中的一些任務。最簡單的例子是測試,我們沒必要告訴Maven去測試,更不需要告訴Maven如何運行測試,只需要遵循Maven的約定編寫好測試用例,當我們運行構建的時候,這些測試便會自動運行。

想像一下,Maven抽像了一個完整的構建生命週期模型,這個模型吸取了大量其他的構建腳本和構建工具的優點,總結了大量項目的實際需求。如果遵循這個模型,可以避免很多不必要的錯誤,可以直接使用大量成熟的Maven插件來完成我們的任務(很多時候我們可能都不知道自己在使用Maven插件)。此外,如果有非常特殊的需求,我們也可以輕鬆實現自己的插件。

Maven還有一個優點,它能幫助我們標準化構建過程。在Maven之前,十個項目可能有十種構建方式;有了Maven之後,所有項目的構建命令都是簡單一致的,這極大地避免了不必要的學習成本,而且有利於促進項目團隊的標準化。

綜上所述,Maven作為一個構建工具,不僅能幫我們自動化構建,還能夠抽像構建過程,提供構建任務實現;它跨平台,對外提供了一致的操作接口,這一切足以使它成為優秀的、流行的構建工具。