文章目录
1. maven生命周期,maven的命令,maven的插件
- maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
- maven的命令: maven独立使用,通过命令,完成maven的生命周期的执行。
maven可以使用命令,完成项目的清理,编译,测试等 - maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些
jar文件,一些类。
1)单元测试(测试方法):用的是junit,junit是一个专门测试的框架(工具)。
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/目录下的java为class文件,把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.xml中groupId坐标来找,如:

-
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>