Maven環境搭建和介紹
最近專案弄完了,有好多時間,準備把以前的知識複習一遍,以便日後更好的使用,先從maven搭建開始,然後再搭建以下SSH+mybatis的框架,弄完了在學學Hadoop分散式相關的東西。
安裝前先配置好電腦的相關環境變數。
一、配置maven的環境
將maven解壓,然後配置環境變數開啟: 計算機------系統屬性------高階系統設定------環境變數
系統變數新建 M2_HOME
變數值E:\apache-maven-3.2.5(maven解壓位置)
path中新增
;%M2_HOME%\bin ----在path的後面先新增;號
啟動cmd,輸入mvm -v可以檢視版本
二、修改本地倉庫位置
maven預設的本地倉庫位置,是在當前使用者目錄下/.m2/repository中,我們可以配置到別的盤。
這兒配置到了E:/m2/repository下。
然後開啟cmd,執行一條簡單的maven命令:mvn help:system 下載相關的maven資訊。
三、配置Eclipse的maven外掛
1、 開啟Eclipse,選擇help----Install New Software------add
name : m2e
location : http://m2eclipse.sonatype.org/sites/m2e
選擇全部安裝,好像上面的連結網站已經關閉。那用下面方法:
從我的百度網盤下載外掛壓縮包:下載
下載好之後解壓:將裡面的features和plugins資料夾下內容複製到Eclipse對應的features和plugins中,重啟即可。
2、配置使用者範圍setting.xml
%M2_HOME%/conf/setting.xml是全域性的設定,這個電腦上所有的使用者都會受影響,所以將%M2_HOME%/conf/setting.xml複製一份,到上面配置倉庫位置中如我的F:/m2資料夾下。
3、設定MAVEN_OPTS環境變數
當專案過大時,容易出現OutOfMemoryError異常,所以我們需要修改執行內容,有以下兩種方法:
1)在maven的bin/mvn.bat中加入set MAVEN_OPTS= -Xms125m -Xmx512m
2)在環境變數中新增 MAVEN_OPTS 變數值為-Xms125m -Xmx512m
4、配置Eclipse
在Window——Preferences——Maven
installations勾掉預設的maven,add安裝的maven目錄
user Settings中選擇本地倉庫配置的setting.xml,如我的E:\m2\settings.xml
點選應用。
四、建立Maven專案
在Eclipse中選擇新建Maven project,選擇工作環境
1、選擇要建立的filter如下:
2、填寫maven專案座標資訊
我們可以看到已經生成maven結構的專案了。
五、Maven簡單的介紹
下面是生成的maven的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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.andy</groupId>
<artifactId>redis_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>redis_demo</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
其標籤的具體含義如下:
project:pom.xml檔案中的頂層元素;
modelVersion:指明POM使用的物件模型的版本。這個值很少改動。
groupId:指明建立專案的組織或者小組的唯一標識。GroupId是專案的關鍵標識,典型的,此標識以組織的完全限定名來定義。比如,org.apache.maven.plugins是所有 Maven外掛專案指定的groupId。
artifactId:指明此專案產生的主要產品的基本名稱。專案的主要產品通常為一個JAR檔案。第二,象原始碼包通常使用artifactId作為最後名稱的一部分。典型的產品名稱使用這個格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。
version:專案產品的版本號。Maven幫助你管理版本,可以經常看到SNAPSHOT這個版本,表明專案處於開發階段。
name:專案的顯示名稱,通常用於maven產生的文件中。
url:指定專案站點,通常用於maven產生的文件中。
description:描述此專案,通常用於maven產生的文件中。
properties:pom檔案中的配置資訊,可以配置全域性變數
dependencies:依賴配置集,裡面可以新增需要的jar的依賴資訊
比如我們需要新增jedis的jar,可以從中央倉庫搜
http://mvnrepository.com/
新增對應的依賴到dependencies標籤就可以:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.6.2</version>
</dependency>
六、maven的相關命令
mvn archetype:create :建立 Maven 專案
mvn compile :編譯原始碼(編譯到target資料夾中)
mvn test-compile :編譯測試程式碼
mvn test : 執行應用程式中的單元測試
mvn site : 生成專案相關資訊的網站
mvn clean :清除目標目錄中的生成結果(把預設target資料夾中的資料清理)
mvn package : 專案打包
mvn install :將打包好的包安裝到本地倉庫中,以使其塔專案能夠呼叫
mvn eclipse:eclipse :生成 Eclipse 專案檔案
mvn -Dmaven.test.skip=true : 忽略測試文件編譯
cargo:deploy :部署到私有伺服器上
當然這些命令可以一起使用比如下
打jar包並且安裝到別的應用 clean compile package install (清理,編譯,打包,安裝jar)
打war包並部署 clean compile package cargo:deploy(清理,編譯,打包,安裝war)