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>