Maven是什么?
Maven是一個項目管理和綜合工具。Maven提供了開發人員構建一個完整的生命周期框架。開發團隊可以自動完成項目的基礎工具建設,Maven使用標准的目錄結構和默認構建生命周期。
在多個開發團隊環境時,Maven可以設置按標准在非常短的時間里完成配置工作。由於大部分項目的設置都很簡單,並且可重復使用,Maven讓開發人員的工作更輕松,同時創建報表,檢查,構建和測試自動化設置。
Windows安裝Maven
1.首先需要JDK的支持,Maven3.2.*版本需要JDK1.6的支持,Maven3.3.*以上需要JDK1.7以上的支持,JDK的安裝以及配置在此不多贅述。
2.前往Maven官網下載zip包,地址:http://maven.apache.org/download.cgi
3.解壓之后,記錄下路徑,在系統環境變量中添加 M2_HOME 和 MAVEN_HOME,最后在PATH中添加。
4.驗證是否安裝成功,在cmd輸入命令mvn -version驗證。
若是出現版本的信息,表示安裝成功了。
Maven配置
1.Maven本地資源庫
Maven的本地資源庫是用來存儲所有項目的依賴關系(插件jar和其他文件,這些文件被Maven下載)到本地文件夾。很簡單,當你建立一個Maven項目,所有相關文件將被存儲在你的Maven本地倉庫。
Maven的本地資源庫默認為 .m2 目錄文件夾:
Unix/Mac OS X – ~/.m2
Windows – C:\Documents and Settings{your-username}.m2
我們可以找到 {M2_HOME}\conf\setting.xml, 更新 localRepository項,選擇我們想要存放的目錄位置。
默認是在user.home下的
改為你想放的位置:
2.Maven中央存儲庫與遠程存儲庫
當你建立一個 Maven 的項目,Maven 會檢查你的 pom.xml 文件,以確定哪些依賴下載。首先,Maven 將從本地資源庫獲得 Maven 的本地資源庫依賴資源,如果沒有找到,然后把它會從默認的 Maven 中央存儲庫 – http://repo1.maven.org/maven2/ 查找下載。
若是中央存儲庫也沒有找到,還可以在pom.xml中自定義遠程存儲庫,Maven會去遠程存儲庫下載,例如:
告訴 Maven 來獲得 Java.net 的依賴,你需要聲明遠程倉庫在 pom.xml 文件這樣:
<repositories> <repository> <id>java.net</id> <url>https://maven.java.net/content/repositories/public/</url> </repository> </repositories>
另外
由於maven中心庫是國外網站,連接下載速度很是揪心,所以強烈推薦使用阿里雲的鏡像庫,主流jar包都有,而且速度非常快,如圖在.\conf\setting.xml文件中進行如下配置。
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
3.安裝自定義jar包到本地Maven庫
當出現下列情況時:
1.要使用的 jar 不存在於 Maven 的中心儲存庫中。
2.您創建了一個自定義的 jar ,而另一個 Maven 項目需要使用。
遠程服務器需要在settings.xml中配置server用戶名密碼
<server>
<id>n</id>
<username>abc</username>
<password>12345</password>
</server>
需要手動將所需要的jar包存放至Maven本地資源庫,可以再cmd中輸入以下命令:
mvn install:install-file -Dfile=c:\userdefined-1.0.jar -DgroupId=pers.test.code -DartifactId=userdefined -Dversion={1.0} -Dpackaging=jar
遠程庫命令如下
mvn deploy:deploy-file -DgroupId=com.abc.com3rd.policy -DartifactId=policy-sdk -Dversion=20180502102622 -Dpackaging=jar -Dfile=D:\jar\local_policy.jar -DrepositoryId=repo-huotu -Durl=http://repo.abc.com:8081/nexus/content/repositories/releases/ -DgeneratePom=false
各參數代表含義為:
-Dmaven.test.skip=true //跳過編譯、測試 -Dfile=D:\MvnProject\service-mvn-1.0.0.jar //jar包文件地址,絕對路徑 -DgroupId=pri.roy.mvn.test //gruopId--pom坐標,自定義 -DartifactId=mvn-api //artifactId--pom坐標,自定義 -Dversion //版本號 -Dpackaging //打包方式 -DrepositoryId //遠程庫服務器ID -Durl //遠程庫服務器地址
安裝成功后,在pom.xml文件中可以使用了
<dependency> <groupId>pers.test.code</groupId> <artifactId>userdefined </artifactId> <version>1.0</version> </dependency>