我眼中的maven
Marvn是apache出的一個工具。他主要用來提供library的管理。他可以讓你在你的專案裡,快速的新增刪改library。這個特色,跟你手動新增、刪除library的差異在於,可以快速的處理library之間的dependence。 所謂dependence就是我開發的程式中,需要用到A library,而這個A library會用到另一個B library V1版的程式,程式中用到的另一個C library會用到B library V2版的程式,這樣的一套接一套、一環接一環的關係。這時候系統架構師或是系統設計師,就必需先統計需要用到那些library,然後到各個官網去下載各種版本的library。 有時候A library會用到B、C、D,C會用到D、E、F,這當中的情恨糾葛、悱惻纏綿是搞不清、理還亂。而maven可以讓你透過簡單的設定,讓你在架構的project、系統時,維護這些關係亂七八糟的library。
Apache 官網眼中的maven
當然maven提供的功能不只這樣,他可以直接包WAR檔、在deploy前進行測試、還有很多,我都搞不清楚的功能。某種程度上,他可以跟Apache早期出的另一套工具叫ant的進行比較。所謂的可以進行比較,意思是說他有很多相同,也有很多不同。基本上,他們的架構、理念,完全不一樣,但是功能上,有些重複。例如ant沒有提供library的管理、但ant與maven都有提供編譯、包WAR檔的功能。扯遠了,讓我們回到maven。
深入探討
讓一個從未接觸過maven的人,認知道maven是什麼,這樣的探討,大概就到這,不能再更多了。再多下去,就不是一個未接觸maven的人所可以接受的了。
如果你覺得你已經不再是一個「從未接觸過maven的人」接下來有關於maven的學習,就是maven的架構、設計理念、理論基礎、及如何使用了。這種東西,google是你最好的朋友,當然你也可以參考Maven 101,
沒有留言 :
張貼留言