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

2021-06-11 20:15:42 浏览数 (1)

文章目录

  • 1. maven生命周期,maven的命令,maven的插件
    • 1. mvn clean
    • 2. mvn compile
    • 3. mvn test-compile
    • 4. mvn test
    • 5. mvn package
    • 6. mvn install

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

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

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

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

2)使用步骤

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

代码语言:javascript复制
<!--单元测试-->
<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

代码语言:javascript复制
@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 命令用来编译 Hellosrcmainjavacomxdr630下的 java 文件的,编译main/java/目录下的javaclass文件,把main/resources目录下的所有文件都拷贝到target/classes目录下
  • 图中有两个插件,compiler插件的作用是将Hellosrcmainjava 路径下的java 文件编译成 class 文件放在 targetclasses 路径下
  • resources插件作用如下案例:假设在 resources 文件下创建一个空文件 config.txt
  • 重新编译一次:mvn compile
  • resources 插件的作用就是把resources 文件夹下的文件 复制到 targetclasses

3. mvn test-compile

  • mvn test-compile命令用来编译测试,如下:在 test/java/下新建测试文件

mvn compile 用到的插件是一样的,把编译的源文件放到 targettest-classes

4. mvn test

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

  • 如:把测试代码放到
代码语言:javascript复制
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_workHellotargetsurefire-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文件中的方法了
代码语言:javascript复制
<dependency>
	<groupId>com.xdr630</groupId>
	<artifactId>ch01-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

0 人点赞