Maven使用(1)

項目管理是個高深的問題,代碼管理同樣也是一個高深的問題。在Java的世界裏,Maven作爲代碼指揮部能夠很好的進行代碼管理。下面說說Maven在java項目中的使用條款:

1. Maven項目中最主要最核心的東西是pom.xml(其中pom是project object model的縮寫),它類似與c世界中的Makefile文件,定義了項目的基本信息,描述了項目該怎麼樣去構建,構建的文件如何管理,以及項目依賴的jar包等等。

2. Maven項目的pom.xml文件中定義項目的基本信息是groupId,artifaceId以及version。這三個元素可以認爲是Maven項目空間中的三維正交立體座標系,任何的jar、pom以及war都是採用這個三維空間的唯一點,可以進行區分。三者的功能可以從字面上獲得,groupId即是組織或者公司的名字,artifaceId定義了當前Maven項目在組織中唯一的Id,而Version是該項目的版本號,其中SNAPSHOP是還處於開發中,不穩定的版本。

3.pom.xml文件最大程度地獨立於實際代碼,只需要改變pom文件就可以使項目升級,當項目升級後日常的代碼開發工作不需要修改pom文件。

4.Maven項目將項目的主代碼和測試代碼分開,其中主代碼默認是放在src/main/java文件下,而測試代碼放在src/test/java下。

5.Maven最主要的命令有:mvn clean complie、mvn clean test、mvn clean package、mvn clean install。其中mvn clean compile只是簡單的編譯,而mvn clean test是編譯之後會執行test,同樣執行mvn clean package會在執行test之後執行package,mvn clean install會在install之前執行package。但是Maven默認打包的jar是不能夠直接運行的,因爲帶有main方法的類型不會添加到manifest中。爲了生成可執行的jar文件,需要藉助maven-shade-plugin。具體如何配置插件可以參見:http://stackoverflow.com/questions/10483180/maven-what-is-pluginmanagement

6.不要使用IDE內嵌的Maven,因爲無論是eclipse還是netbeans,它們集成的maven都比較新,但不一定穩定,因此往往會和採用命令行輸入maven命令使用的maven版本不一致,導致構建形成的不一致。總之,需要將IDE中默認的maven修改爲手動安裝maven的目錄。

7.Maven採用集中倉庫的方式來管理代碼,因此不同項目中使用相同的jar(三維座標相同)只會下載一次。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章