Maven安裝與配置

jopen 10年前發布 | 21K 次閱讀 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.) 擁有依賴管理,倉庫管理

20140630230604156.png

三. maven的安裝

1. 檢查jdk安裝的情況(要1.6版本)
   echo %JAVA_HOME%
   Java -version
2. 對apache-maven-3.0.3-bin.zip進行解壓縮, 例如解壓到如下目錄(解壓目錄最好不要有中文字)

20140630230239312.png

3. 設置系統環境變量, MAVEN_HOME

20140630230254718.png

4. 設置環境變量Path, 將%MAVEN_HOME%\bin加入Path中, 一定要注意要用分號; 與其他值隔開

20140630230320531.png

5. 驗證安裝是否成功, 打開cmd窗口, 敲入mvn –v 查看

20140630230336531.png


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

    package com.zdp.maven;  
    import com.zdp.maven.Hello;  
    public class HelloFriend {  
        public String sayHelloToFriend(String name){  
            Hello hello = new Hello();  
            String str = hello.sayHello(name)+" I am "+this.getMyName();  
            System.out.println(str);  
            return str;  
        }  
        public String getMyName(){  
            return "John";  
        }  
    }  

4. 在/src/test/java/com/zdp/maven目錄下新建測試文件HelloFriendTest.java
    package com.zdp.maven;  
    import static junit.framework.Assert.assertEquals;  
    import org.junit.Test;  
    import com.zdp.maven.Hello;  
    public class HelloFriendTest {  
        @Test  
        public void tesHelloFriend(){  
            HelloFriend helloFriend = new HelloFriend();  
            String results = helloFriend.sayHelloToFriend("litingwei");  
            assertEquals("Hello litingwei! I am John",results);       
        }  
    }  

5. 在HelloFriend目錄下執行命令mvn package, 系統報錯說沒有找到依賴

6. 需要重新構建Hello第一個項目并安裝到數據倉庫, 在命令行Hello根目錄下執行mvn clean install

7. 重新在HelloFriend目錄下執行命令mvn package

來自:http://blog.csdn.net/zdp072/article/details/36057201

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!