maven的生命周期及常用命令的使用

1. maven生命周期,maven的命令,maven的插件

  • maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
  • maven的命令: maven独立使用,通过命令,完成maven的生命周期的执行。
    maven可以使用命令,完成项目的清理,编译,测试等
  • maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些jar文件,一些类。

1)单元测试(测试方法):用的是junitjunit是一个专门测试的框架(工具)。

  • junit测试的内容:测试的是类中的方法,每一个方法都是独立测试的。
  • 方法是测试的基本单位(单元).
  • maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。

2)使用步骤

1.加入依赖,在pom.xml加入单元测试依赖

<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifaatId>
<version>4.11</version>
<scope>test</scope>
</dependency>

2.在maven项目中的src/test/java目录下,创建测试程序。

1.测试类的名称是Test +你要测试的类名
2.测试的方法名称是:Test +方法名称

例如你要测试HelloMaven ,创建测试类TestHelloMaven

@Test
public void testAdd(){
	测试HelloMaven的add方法是否正确
}
  • 其中testAdd叫做测试方法,它的定义规则
    1.方法是public的,必须的
    2.方法没有返回值,必须的
    3.方法名称是自定义的,推荐是Test +方法名称
    4.在方法的上面加入@Test

在这里插入图片描述

1. mvn clean

mvn clean会清理项目中存在的target目录
在这里插入图片描述

  • 上面这个插件的作用就是清除 target 目录的

2. mvn compile

  • mvn compile 命令用来编译 Hello\src\main\java\com\xdr630下的 java 文件的,编译main/java/目录下的javaclass文件,把main/resources目录下的所有文件都拷贝到target/classes目录下
    在这里插入图片描述
    在这里插入图片描述

  • 图中有两个插件,compiler插件的作用是将Hello\src\main\java 路径下的java 文件编译成 class 文件放在 target\classes 路径下

  • resources插件作用如下案例:假设在 resources 文件下创建一个空文件 config.txt
    在这里插入图片描述

  • 重新编译一次:mvn compile
    在这里插入图片描述
    在这里插入图片描述

  • resources 插件的作用就是把resources 文件夹下的文件 复制到 target\classes
    在这里插入图片描述

3. mvn test-compile

  • mvn test-compile命令用来编译测试,如下:在 test/java/下新建测试文件
    在这里插入图片描述
    mvn compile 用到的插件是一样的,把编译的源文件放到 target\test-classes

4. mvn test

当执行 mvn test 命令时,按生命周期会把前面的命令mvn clean、 mvn compile、mvn test-compile)都给执行一遍。

  • 如:把测试代码放到
    在这里插入图片描述
package com.xdr630;

import org.junit.Assert;
import org.junit.Test;

public class TestHelloMaven {
	@Test
   	public void testAdd() {
		System.out.println( "====maven junit testAdd ()===");
		HelloMaven hello = new HelloMaven();
		int res = hello.add(10,20);
		//验证10+20是不是20 ,junit提供的方法,对比结果的
		//assertEquals(期望值,实际值),如果两个值相等证明是正确的,不等就抛异常,错误了
		
		Assert.assertEquals(30,res);
	}
}

  • 执行 mvn test
    在这里插入图片描述

  • 测试成功或失败,都会生成一个测试日志,在 E:\maven_work\Hello\target\surefire-reports
    在这里插入图片描述
    在这里插入图片描述

5. mvn package

  • 执行打包的时候用到的是maven-jar-plugin 插件,把类文件和配置文件打包成一个jar包,放到 target
    在这里插入图片描述
    在这里插入图片描述

  • 打包生成的项目名是在 pom.xml 中的 artifactId-version 来命名的
    在这里插入图片描述

  • 用压缩工具打开生成的 jar
    在这里插入图片描述
    在这里插入图片描述

  • 发现生成的jar文件中只有 src/main/ 下所有的文件,没有 test 文件

6. mvn install

  • 就是把生成在target的 jar 文件安装在仓库中去,方便别人调用
    在这里插入图片描述

  • 每个项目可根据 pom.xmlgroupId坐标来找,如:
    在这里插入图片描述

  • com.xdr630就代表一个com/xdr630的文件夹
    在这里插入图片描述

  • com/xdr630/ 文件夹下就有以artifactId命名的项目名

  • 再进去就是version版本号文件夹,里面就有jar
    在这里插入图片描述
    在这里插入图片描述

  • 用法:在其他maven项目中引用坐标就能调用jar文件中的方法了

<dependency>
	<groupId>com.xdr630</groupId>
	<artifactId>ch01-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254795.html

原文地址:https://www.cnblogs.com/xdr630/p/15254795.html