Maven安裝與配置
一. 什么是maven
Maven是跨平臺的項目管理工具, 主要服務于基于Java平臺的項目構建、依賴管理和項目信息管理。
1. 高度自動化的項目構建
2. 自動下載jar包, 統一依賴管理
3. 管理項目名稱, 開發人員信息等
二. 為什么使用maven
1. 使用IDE的缺點:
a.) 手工操作較多, 編譯、測試、部署等工作都是獨立的, 很難一步完成
b.) 每個人的IDE配置都不同, 很容易出現本地代碼換個地方編譯就出錯等問題.
2. 使用ant的缺點:
a.) 沒有一個約定的目錄結構
b.) 必須明確讓ant做什么, 什么時候做, 然后編譯、打包
c.) 沒有生命周期, 必須定義妙及其實現的任務序列
d.) 沒有集成依賴管理
3. 使用maven的好處:
a.) 擁有約定的目錄結構, 知道你的代碼在哪里, 放到哪里去
b.) 擁有一個生命周期, 例如執行mvn install 就可以自動執行編譯、測試、打包等構建過程
c.) 只需要定義一個pom.xml, 然后把源碼放到默認的目錄, maven會幫你處理其他事情
d.) 擁有依賴管理,倉庫管理
三. maven的安裝
1. 檢查jdk安裝的情況(要1.6版本)
echo %JAVA_HOME%
Java -version
2. 對apache-maven-3.0.3-bin.zip進行解壓縮, 例如解壓到如下目錄(解壓目錄最好不要有中文字)
3. 設置系統環境變量, MAVEN_HOME
4. 設置環境變量Path, 將%MAVEN_HOME%\bin加入Path中, 一定要注意要用分號; 與其他值隔開
5. 驗證安裝是否成功, 打開cmd窗口, 敲入mvn –v 查看
6. Maven安裝目錄分析
a.) bin:含有mvn運行的腳本
b.) boot:含有plexus-classworlds類加載器框架
c.) conf:含有settings.xml配置文件
d.) lib:含有Maven運行時所需要的java類庫
e.) LICENSE.txt, NOTICE.txt, README.txt針對Maven版本,第三方軟件等簡要介紹
四. 第一個maven項目
1. 首先建立Hello項目同時建立Maven約定的目錄結構
Hello
|------src
|------main
|------java (存放項目的Java文件)
|------resources (存放項目的資源文件, 如: spring, hibernate配置文件)
|------test
|------java (存放所有測試的Java文件, 如: JUnit測試類)
|------resources (存放測試的資源文件)
|------target (項目編譯后文件)
|------pom.xml
2. 在項目Hello根目錄建立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>com.zdp.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> </project>
3. 在src/main/java/com/zdp/maven目錄下新建文件Hello.java
package com.zdp.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } }
4. 在/src/test/java/com/zdp/maven目錄下新建測試文件HelloTest.java
package com.zdp.maven; import org.junit.Test; import static junit.framework.Assert.*; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String results = hello.sayHello("litingwei"); assertEquals("Hello litingwei!",results); } }
5. 測試一下吧:
a.) 打開cmd命令行, 進入Hello項目根目錄執行 mvn compile命令, 查看根目錄變化
b.) cmd 中繼續錄入mvn clean命令, 然后再次查看根目錄變化
c.) cmd 中錄入mvn clean compile命令, 查看根目錄變化
d.) cmd 中錄入mvn clean test命令, 查看根目錄變化
e.) cmd 中錄入mvn clean package命令, 查看根目錄變化
五. 第二個maven項目
1. 首先建立HelloFriend項目同時建立Maven約定的目錄結構
HelloFriend |------src
|------main
|------java (存放項目的Java文件)
|------resources (存放項目的資源文件, 如: spring, hibernate配置文件)
|------test
|------java (存放所有測試的Java文件, 如: JUnit測試類)
|------resources (存放測試的資源文件)
|------target (項目編譯后文件)
|------pom.xml
2. 在項目HelloFriend根目錄建立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>com.zdp.maven</groupId>
<artifactId>HelloFriend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>HelloFriend</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.zdp.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
3. 在src/main/java/com/zdp/maven目錄下新建文件HelloFriend.java
4. 在/src/test/java/com/zdp/maven目錄下新建測試文件HelloFriendTest.java
5. 在HelloFriend目錄下執行命令mvn package, 系統報錯說沒有找到依賴
6. 需要重新構建Hello第一個項目并安裝到數據倉庫, 在命令行Hello根目錄下執行mvn clean install
7. 重新在HelloFriend目錄下執行命令mvn package
來自:http://blog.csdn.net/zdp072/article/details/36057201