在開發過程中會用到maven,所以對maven進行了簡單的學習。
準備工作
- Jdk1.5以上的java開發環境
- Maven
第一步:配置maven環境
將下載的檔案加壓,然後設定maven環境,對於有java開發經驗的人,應該是很easy的。如的maven的環境是: G:\maven\apache-maven-3.3.1
我的電腦----屬性----高階----環境變數----新建
變數名:M2_HOME
變數值:G:\maven\apache-maven-3.3.1
找到path環境變數
在環境的變數的尾部加上:;%M2_HOME%\bin;,注意前面的分號哦,當然你也可以直接在path路徑的尾部直接加上 G:\maven\apache-maven-3.3.1\bin,只是上面的方式更優雅一點。
開啟命令提示符(開始----執行----cmd),檢查maven環境是否配置成功。執行下面命令
mvn -v
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-14T04:10:27+08:00)
Maven home: G:\maven\apache-maven-3.3.1
Java version: 1.7.0_09, vendor: Oracle Corporation
Java home: C:\Java\jdk1.7.0_09\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8", version: "6.2", arch: "x86", family: "windows"
第二步:修改倉庫位置
接下來需要修改下倉庫地址,倉庫用於存放我們專案所以來的所有的jar
我的倉庫路徑:G:\maven\repo,這個路徑你可以隨便建立。
開啟maven的安裝目錄,進入到G:\maven\apache-maven-3.3.1\conf,編輯setting.xml檔案,設定我們建立的倉庫路徑
<localRepository>G:/maven/repo</localRepository>
設定完成之後,可以用一個命令驗證一下。在命令提示符中執行:
mvn help:system
這個命令會列印出所有的java系統屬性和環境變數。如果執行沒有錯誤,在我們建立的那個倉庫目錄中會多出很多檔案、這些檔案就是從maven的中央倉庫下載到本地倉庫的。
第三步:建立一個maven專案
在命令提示符中執行:
mvn archetype:generate -DgroupId=com.app -DartifactId=first-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
對上面命令解釋一下:
-DgroupId 組織標識(包名)
-DartifactId 專案名稱
-DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,建立一個Java Project;maven-archetype-webapp,建立一個Web Project
-DinteractiveMode 是否使用互動模式
ps:因為是第一次構建專案,所有依賴的jar包都要從maven的中央倉庫去下載,所以需要等待一段時間。
標準maven專案的結構
└─src
├─main
│ └─java
│ └─com
│ └─app
└─test
└─java
└─com
└─app
src/main/java 存放專案的原始碼
src/test/java 存放測試原始碼
如果要存放一些配置檔案,可以再建立一個目錄src/main/resource存放,如存放log4j.properties等
順便了解下pom.xml檔案。
pom.xml包含了專案構建的資訊,包括專案的資訊、專案的依賴等。
pom.xml檔案是可以繼承的,大型專案中,子模組的pom.xml一般都會繼承於父模組的pom.xml
剛建立的專案中pom.xml內容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.app</groupId>
<artifactId>first-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>first-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
節點元素說明
<project> pom檔案的頂級節點
<modelVersion> object model版本,對Maven2和Maven3來說,只能是4.0.0
<groupId> 專案建立組織的識別符號,一般是域名的倒寫
<artifactId> 定義了專案在所屬組織的識別符號下的唯一標識,一個組織下可以有多個專案
<packaging> 打包的方式,有jar、war、ear等
<version> 當前專案的版本,SNAPSHOT,表示是快照版本,在開發中
<name> 專案的名稱
<url> 專案的地址
<dependencies> 構建專案依賴的jar
<description> 專案的描述
Maven引數
-D 傳入屬性引數
-P 使用pom中指定的配置
-e 顯示maven執行出錯的資訊
-o 離線執行命令,即不去遠端倉庫更新包
-X 顯示maven允許的debug資訊
-U 強制去遠端參考更新snapshot包
例如 mvn install -Dmaven.test.skip=true -Poracle
其他引數可以通過mvn help 獲取
Maven常用命令
mvn clean # 清理專案生產的臨時檔案,一般是模組下的target目錄
mvn compile # 編譯專案主程式碼
mvn test-compile # 編譯測試程式碼
mvn package # 專案打包工具,會在模組下的target目錄生成jar或war等檔案
mvn test # 測試命令,或測試src/test/java下junit的測試用例
mvn site-deploy # 生產站點目錄並打包
mvn install # 模組安裝命令,將打包的jar/war檔案複製到你的本地倉庫中,供其他模組使用
mvn clean package # 先清除再打包
mvn jar:jar # 打成jar包
-Dmaven.test.skip=true # 跳過測試(同時會跳過test compile)
mvn deploy # 釋出命令,將打包的檔案釋出到遠端,提供其他人員進行下載依賴
mvn eclipse:eclipse # 生成eclipse配置檔案,匯入到eclipse開放
mvn archetype:generate # 說明如下: 模組建立命令, 執行命令後,會提示選擇建立專案的模版,這裡選18(maven-archetype-quickstart)
- 後面會提示你輸入groupId(包存放的路徑):
eg:com.test - 提示輸入artifactId(模組名稱):
eg:test-core - 提示輸入version(版本):
1.0.0-SNAPSHOT - 提示輸入package(指專案中基本的包路徑):
eg:com.test - 提示確認,回車即可
mvn help:help # 檢視幫助資訊
建立web專案的命令如下:
mvn archetype:generate -DgroupId=com.app -DartifactId=first-web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false