maven的通常用法

目錄

 


  這章咱們講講幾個經常使用的 Maven 命令。因爲執行命令是在工程的基礎上來的,因此咱們要先建立一個 Maven 工程,具體如何建立,在上一篇博客已經介紹了:http://www.cnblogs.com/ysocean/p/7420373.htmlhtml

 

一、建立 Maven 工程

  

  ①、在 src/main/java 新建包 com.ys.maven,而後在這個包中建立類 HelloMaven.javajava

package com.ys.maven;
public class HelloMaven {
    //傳入一個字符串並返回
    public String Hello(String name){
        return name;
    }
}

  ②、在 src/test/java 新建包 com.ys.maven,而後在這個包中建立類 HelloTest.javaweb

package com.ys.maven;
import junit.framework.Assert;
import org.junit.Test;
public class HelloTest {    
    @Test
    public void testHello(){
        HelloMaven he = new HelloMaven();
        String name = he.Hello("Tom");
        //判斷 Hello 傳入的參數是不是 "maven"
        Assert.assertEquals("maven", name);
    }
}

  ③、pom.xml 文件以下:apache

<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.ys</groupId>

  <artifactId>hellomaven</artifactId>

  <version>0.0.1-SNAPSHOT</version>   

  <dependencies>

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>4.0</version>

        <scope>test</scope>

    </dependency>

  </dependencies>

</project>

  爲何要這樣寫,咱們後面會詳細講解。tomcat

 

二、Maven 的經常使用命令

一、mvn compile 編譯,將Java 源程序編譯成 class 字節碼文件,會在你的項目路徑下生成一個target目錄,
在該目錄中包含一個classes文件夾,裏面全是生成的class文件及字節碼文件。

二、mvn test 測試,並生成測試報告,清理的過程當中會刪除刪除target目錄下編譯的內容。

三、mvn clean 將之前編譯獲得的舊的 class 字節碼文件刪除,執行該命令會刪除項目路徑下的target文件,可是不會
刪除本地的maven倉庫已經生成的jar文件。

四、mvn pakage 打包。這個命令會在你的項目路徑下一個target目錄,而且擁有compile命令的功能進行編譯,同時會在
target目錄下生成項目的動態打包後的文件,例如 web工程打 war包,Java工程打 jar 包文件。

五、mvn install 該命令包含了package命令功能,不但會在項目路徑下生成class文件和jar包,同時會在你的本地maven
倉庫生成jar文件,供其餘項目使用

六、deploy,在整合或者發佈環境下執行,將最終版本的包拷貝到遠程的repository,使得其餘的開發者或者工程能夠共享。

對項目打包有三種打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中進行指定。

注:同時執行屢次install或者package命令會每次都更新jar文件。

pom工程通常是聚合工程,表明父工程,負責管理jar包的版本、maven插件的版本等,主要作統一的依賴管理。

jar包就是普通的打包方式,能夠是pom工程的子工程。

war包的都是web工程,是能夠直接放到tomcat下運行的工程。

打成pom包和jar包的工程在新建的時候能夠不須要制定maven項目的原型,達成war包的項目須要制定maven項目原型,指定的
原型一般爲maven-archetype-webapp,表明web項目。

其中最經常使用的就是maven clean和maven install。

 

注:app

  • mvn clean package依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
  • mvn clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
  • mvn clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。webapp

    由上面的分析可知主要區別以下,maven

  • install命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫
  • package命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫,但沒有佈署到遠程maven私服倉庫
  • deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫 

  

  ①、compile:將Java 源程序編譯成 class 字節碼文件。單元測試

  第一步:選擇 pom.xml 文件,右鍵--->Run As ---->2 Maven build...測試

  

  第二步:在第一步執行完後彈出來的對話框中,輸入 compile,而後點擊 Run 按鈕

  

  第三步:查看控制檯

  

  第四步:在 target 目錄下,咱們會發現編譯生成的 class 文件

 

   ②、test:測試,並生成測試報告

    第一步:選擇 pom.xml 文件,右鍵--->Run As ---->2 Maven build...,而後在彈出框中輸入 test

      或者選擇 pom.xml 文件,右鍵--->Run As------>6 Maven test,以下圖

 

  第二步:查看控制檯

  分析測試程序,咱們傳入的參數是Tom,而咱們但願的是maven,很顯然是不相等的,那麼測試失敗

  

 

   若是測試類 HelloTest.java改成以下:

 

 

  

  從新執行 mvn test 命令,控制檯以下:

 

  

  生成的測試報告能夠在以下目錄查看:target/surefire-reports

 

  

  

  ③、mvn clean 將之前編譯獲得的舊的 class 字節碼文件刪除

  第一步:選擇 pom.xml 文件,右鍵--->Run As ---->2 Maven build...,而後在彈出框中輸入 clean

    或者選擇 pom.xml 文件,右鍵--->Run As------>3 Maven clean,以下圖

   

  

 

  第二步:查看控制檯

   

 

    

  第三步:發現 mvn compile 編譯好的文件這時已經清除了

 

  

  ④、mvn pakage 打包,動態 web工程打 war包,Java工程打 jar 包。

  第一步:選擇 pom.xml 文件,右鍵--->Run As ---->2 Maven build...,而後在彈出框中輸入 package

    

 

   第二步:查看控制檯

  

  第三步:進入到 target 目錄,會發現打出來的 jar 包

  

 

   ⑤、mvn install 將項目生成 jar 包放在倉庫中,以便別的模塊調用

   這裏咱們就不截圖了,執行命令後,進入到 settings.xml 文件中配置的倉庫,你會發現生成的 jar 包

   

相關文章
相關標籤/搜索