maven使用筆記

haifeng0730發表於2015-12-16

在開發過程中會用到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

相關文章