Maven環(huán)境變量配置
配置Maven前先從官網(wǎng)下載相關(guān)版本,Maven下載地址:http://maven.apache.org/download.cgi,筆者使用最新版本apache-maven-3.5.0.
配置Maven前須確保已安裝Java運(yùn)行環(huán)境,因?yàn)镸aven基于Java開發(fā),其運(yùn)行依賴于Java,Java安裝配置請(qǐng)參考相關(guān)教程。
Windows下環(huán)境變量配置
依次打開 我的電腦->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量
設(shè)置參數(shù)如下:
MAVEN_HOME: D:\soft\java\develop\plugins\apache-maven-3.5.0
PATH: %MAVEN_HOME%\bin
MAVEN_OPTS :-Xms128m -Xmx512m
目錄改為maven本地解壓路徑。
確保配置無誤后,win+R 打開終端窗口,輸入:
mvn -version
若配置正確,會(huì)出現(xiàn)Maven相關(guān)信息:
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:0
6+08:00)
Maven home: D:\soft\java\develop\plugins\apache-maven-3.5.0\bin\..
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_80\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Linux下環(huán)境變量配置
下載解壓Maven到相關(guān)目錄,配置環(huán)境變量:
vim /etc/profile
在profile文件中添加相關(guān)配置:
export M2_HOME=/home/soft/apache-maven
export PATH=$PATH:$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
保存退出編輯。
打開終端窗口輸入如下命令使配置生效:
source /etc/profile
終端窗口輸入:
mvn -version
會(huì)出現(xiàn)maven相關(guān)信息:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: /home/soft/apache-maven
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_131/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-123.9.3.el7.x86_64", arch: "amd64", family: "unix"
修改Maven本地倉庫存放位置:
若不修改Maven本地倉庫位置,默認(rèn)保存在
${user.home}/.m2/repository
目錄下,如:
C:\Users\Administrator\.m2\repository
若要保存到本地其他目錄,需修改Maven配置文件,Maven路徑下/conf/settings.xml
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
現(xiàn)在把本地倉庫改為
D:/develop/m2/repository
,修改后配置文件為:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:/develop/m2/repository</localRepository>
Maven相關(guān)命令
使用Maven快速創(chuàng)建項(xiàng)目
打開終端,切換到相關(guān)目錄,輸入一下命令:
mvn archetype:generate
該命令使用交互式創(chuàng)建項(xiàng)目。創(chuàng)建過程中,需用戶輸入groupId,artifactId等內(nèi)容。可使用非交互式創(chuàng)建,命令如下:
mvn archetype:generate
-DgroupId=com.turing.app
-DartifactId=maven-demo
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
若快速創(chuàng)建web項(xiàng)目,只需修改DarchetypeArtifactId為
-DarchetypeArtifactId=maven-archetype-webapp
說明
- groupId:工程組的標(biāo)識(shí)。它在一個(gè)組織或者項(xiàng)目中通常是唯一的。
- artifactId: 工程的標(biāo)識(shí)。它通常是工程的名稱。
節(jié)點(diǎn) | 描述 |
---|---|
groupId | 這是工程組的標(biāo)識(shí)。它在一個(gè)組織或者項(xiàng)目中通常是唯一的。例如,一個(gè)銀行組織com.company.bank擁有所有的和銀行相關(guān)的項(xiàng)目。 |
artifactId | 這是工程的標(biāo)識(shí)。它通常是工程的名稱。例如,消費(fèi)者銀行。groupId和artifactId一起定義了artifactId在倉庫中的位置。 |
version | 這是工程的版本號(hào)。在artifact的倉庫中,它用來區(qū)分不同的版本。例如:com.company.bnak:consumer-banking:1.0 com.company.bank:consumer-banking:1.1 |
詳見pom.xml相關(guān)配置。
清除并生成eclipse項(xiàng)目結(jié)構(gòu)
mvn eclipse:eclipse // 將maven項(xiàng)目變成eclipse,其實(shí)是在項(xiàng)目中生成 .project 和 .classpath 兩個(gè)文件
mvn eclipse:clean // 清理(刪除target目錄下編譯內(nèi)容)
將以上經(jīng)Maven處理過的項(xiàng)目導(dǎo)入Eclipse即可。
Maven其他常用命令
mvn compile :編譯源代碼(編譯到target文件夾中)
mvn test-compile :編譯測(cè)試代碼 mvn test : 運(yùn)行應(yīng)用程序中的單元測(cè)試
mvn site : 生成項(xiàng)目相關(guān)信息的網(wǎng)站
mvn clean :清除目標(biāo)目錄中的生成結(jié)果(把默認(rèn)target文件夾中的數(shù)據(jù)清理)
mvn package : 項(xiàng)目打包
mvn install :將打包好的包安裝到本地倉庫中,以使其塔項(xiàng)目能夠調(diào)用
當(dāng)然這些命令可以一起使用,例如:
mvn clean compile package install //(清理,編譯,打包,安裝jar), 打jar包并且安裝到別的應(yīng)用
mvn clean compile package cargo:deploy //(清理,編譯,打包,安裝war),打war包并部署
參考資料
- http://maven.apache.org/
- 《Maven實(shí)戰(zhàn)》 徐曉斌 著;
- 《Maven教程》 極客學(xué)院;
- http://www.cnblogs.com/quanyongan/archive/2013/04/17/3025971.html
- http://blog.csdn.net/fengshizty/article/details/43019561