1. 程式人生 > >2.maven常用命令和生命週期(慕課網)

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.編譯命令:mvn compile
在這裡插入圖片描述
3.測試命令:mvn test
在這裡插入圖片描述
4.打包命令:mvn package
在這裡插入圖片描述
5.安裝命令,將專案釋出到本地倉庫中:mvn install
在本地倉庫的相應目錄下可以找到打的jar包
在這裡插入圖片描述

需求:新建一個名為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 將最終的包複製到遠端的倉庫,以讓其它開發人員與專案共享。

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