maven入門

1、背景
1.定位:Maven是優秀的構建工具
2.意義:自動化構建,即節約了咱們天天有至關一部分時間花在編 譯、運行單元測試、生成文檔、打包和部署等煩瑣且不起眼的時間。
3.三要素:目標(Target)、依賴(Prerequisite)和命令(Command)
4.比較:
Make,就不能實現跨平臺的構建,語法複雜,難以排除一些空格、table錯誤
Ant,開發者顯式地指定每個目標,以及完成該目標所須要執行的任務。針對每個項目,開發者都須要從新編寫這一過程,這裏其實隱含着很大的重複。沒有依賴管理。
Gradle,支持動態的版本依賴,Maven和Gradle對依賴項的scope有所不一樣,解決依賴衝突方面Gradle的實現機制更加明確。Gradle提供了極大的靈活性,但對Build領域實踐不夠,就很難組織好,致使混亂和沒必要要。
2、安裝與配置
2.步驟:下載安裝包->安裝->設置環境變量->檢查mvn –version
 
3、使用
1.注意事項:
(1)配置用戶範圍settings.xml。Maven用戶能夠選擇配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局範圍的,整臺機器上的全部用戶都會直接受到該配置的影響,然後者是用戶範圍的,只有當前用戶纔會受到該配置的影響。
(2)儘可能不要使用IDE內嵌的Maven
 
2.編寫POM
(1)核心
Maven項目的核心是pom.xml,項目對象模型
組ID<groupId>com.zhongzh.app</groupId>  com.項目組名.項目名
模塊ID<artifactId>hello-world</artifactId>  
版本<version>1.0-SNAPSHOT</version>  
名稱<name>Maven Hello World Project</name> 
(2)經常使用標籤:modules、parent、properties、import
parent指定繼承父pom
父pom中指定modules
dependencyManagement元素下得依賴聲明不會引入實際的依賴
dependencies元素下的實際依賴使用
properties元素用戶能夠自定義一個或多個Maven屬性,而後在POM的其餘地方使用${屬性名}的方式引用該屬性,這種作法的最大意義在於消除重複和統一管理。
<scope>import</scope>繼承來自多個父pom的依賴
 
3.依賴管理
scope指明瞭junit模塊只能在test中依賴
 
4.maven命令
打包 mvn clean package
安裝 mvn clean install 與打包區別在於可讓其餘maven工程使用
測試 mvn clean test
生成項目骨架 mvn archetype:generate
 
相關文章
相關標籤/搜索