天天看點

2.Maven常用指令和生命周期(慕課網)

一.maven項目工程demo

1.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><!--maven的版本号-->
	
	<groupId>com.steven.maven</groupId><!--項目的包名-->
	<artifactId>demo</artifactId><!--項目的子產品名(項目名)-->
	<version>1.0-SNAPSHOT</version><!--快照版本-->
	<packaging>war</packaging><!--打包方式-->
	
	<dependencies>
	  <!--使用Junit4(注解方式運作)-->
	  <dependency>
	    <groupId>junit</groupId><!--子產品所屬組織-->
	    <artifactId>junit</artifactId><!--引入子產品名稱-->
	    <version>4.11</version><!--版本号-->
	    <scope>test</scope><!--管理依賴的部署-->
	  </dependency>
	</dependencies>
</project>
           

2.HelloWorld類

package com.steven.maven;
public class HelloWorld {
    public String hello(){
        return "hello world!";
    }
}
           

3.HelloWorld測試類

import com.steven.maven.HelloWorld;
import org.junit.Assert;
import org.junit.Test;
public class HelloWorldTest {
    @Test
    public void testHello(){
        Assert.assertEquals("hello world!",new HelloWorld().hello());
    }
}
           

二.maven常用指令

1.檢查maven是否安裝成功:mvn -v

2.Maven常用指令和生命周期(慕課網)

2.編譯指令:mvn compile

2.Maven常用指令和生命周期(慕課網)

3.測試指令:mvn test

2.Maven常用指令和生命周期(慕課網)

4.打包指令:mvn package

2.Maven常用指令和生命周期(慕課網)

5.安裝指令,将項目釋出到本地倉庫中:mvn install

在本地倉庫的相應目錄下可以找到打的jar包

2.Maven常用指令和生命周期(慕課網)

需求:建立一個名為demo1的maven項目,在項目中引用demo.jar中HelloWorld類的hello方法。

1.引入依賴

<dependencies>
   <dependency>
    <groupId>com.steven.maven</groupId><!--項目的包名-->
    <artifactId>demo</artifactId><!--項目的子產品名(項目名)-->
    <version>1.0-SNAPSHOT</version><!--快照版本-->
  </dependency>
</dependencies>
           

2.源代碼

package com.steven.maven1;
import com.steven.maven.HelloWorld;
public class Speak {
    public String hi(){
        return new HelloWorld().hello();
    }
}
           

三.生命周期

maven生命周期包括清理、編譯、測試、打包、內建測試、驗證、部署等。

1.maven三套獨立的生命周期

(1).clean 清理項目

• pre-clean 執行清理前的工作

• clean 清理上一次建構生成的所有檔案

• post-clean 執行清理後的檔案

(2).default 建構項目(最核心)

• compile test package install

(3).site 生成項目站點

• pre-site 在生成項目站點前要完成的工作

• site 生成項目的站點文檔

• post-site 在生成項目站點後要完成的工作

• site-deploy 釋出生成的站點到伺服器上

2.maven完整的生命周期

• validate

• generate-sources

• process-sources

• generate-resources

• process-resources 複制并處理資源檔案,至目标目錄,準備打包。

• compile 編譯項目的源代碼。

• process-classes

• generate-test-sources

• process-test-sources

• generate-test-resources

• process-test-resources 複制并處理資源檔案,至目标測試目錄。

• test-compile 編譯測試源代碼。

• process-test-classes

• test 使用合适的單元測試架構運作測試。這些測試代碼不會被打包或部署。

• prepare-package

• package 接受編譯好的代碼,打包成可釋出的格式,如 JAR 。

• pre-integration-test

• integration-test

• post-integration-test

• verify

• install 将包安裝至本地倉庫,以讓其它項目依賴。

• deploy 将最終的包複制到遠端的倉庫,以讓其它開發人員與項目共享。

注意:執行一個生命周期的指令會也會執行前一個周期的指令。