个人名片:
🐼作者简介:一名大三在校生,喜欢AI编程🎋
🐻❄️个人主页🥇:落798. 🐼
🐓每日一句:🍭我很忙,但我要忙的有意义!
文章目录
- 在 Maven 工程中编写代码🌴
- 2.1 主体程序🍒
- 2.2 测试程序🍒
- 执行 Maven 的构建命令🍒
- 1.要求
- 2.清理操作🍒
- 3.编译操作🍒
- 4.测试操作🍒
- 5.打包操作🍒
- 6.安装操作🍒
- 欢迎添加微信,加入我的核心小队,请备注来意
在 Maven 工程中编写代码🌴
2.1 主体程序🍒
主体程序指的是被测试的程序,同时也是将来在项目中真正要使用的程序
下为主体程序
package com.duanyf.maven;
public class Calculator {
public int sum(int i, int j){
return i + j;
}
}
2.2 测试程序🍒
package com.duanyf.maven;
import org.junit.Test;
import com.atguigu.maven.Calculator;
// 静态导入的效果是将Assert类中的静态资源导入当前类
// 这样一来,在当前类中就可以直接使用Assert类中的静态资源,不需要写类名
import static org.junit.Assert.*;
public class CalculatorTest{
@Test
public void testSum(){
// 1.创建Calculator对象
Calculator calculator = new Calculator();
// 2.调用Calculator对象的方法,获取到程序运行实际的结果
int actualResult = calculator.sum(5, 3);
// 3.声明一个变量,表示程序运行期待的结果
int expectedResult = 8;
// 4.使用断言来判断实际结果和期待结果是否一致
// 如果一致:测试通过,不会抛出异常
// 如果不一致:抛出异常,测试失败
assertEquals(expectedResult, actualResult);
}
}
执行 Maven 的构建命令🍒
1.要求
运行 Maven 中和构建操作相关的命令时,必须进入到 pom.xml 所在的目录。如果没有在 pom.xml 所在的目录运行 Maven 的构建命令,那么会看到下面的错误信息:
The goal you specified requires a project to execute but there is no POM in this directory
mvn -v 命令和构建操作无关,只要正确配置了 PATH,在任何目录下执行都可以。而构建相关的命令要在 pom.xml 所在目录下运行——操作哪个工程,就进入这个工程的 pom.xml 目录
2.清理操作🍒
- 命令:
mvn clean
- 说明:删除
target
目录
3.编译操作🍒
- 主程序编译:
mvn compile
- 测试程序编译:
mvn test-compile
- 主体程序编译结果存放的目录:
target/classes
- 测试程序编译结果存放的目录:
target/test-classes
4.测试操作🍒
- 命令:
mvn test
- 测试的报告存放的目录:
target/surefire-reports
5.打包操作🍒
- 命令:
mvn package
- 打包的结果:
jar
包 - 存放的目录:
target
6.安装操作🍒
- 命令:
mvn install
说明
安装的效果是将本地构建过程中生成的 jar 包存入 Maven 本地仓库。这个 jar 包在 Maven 仓库中的路径是根据它的坐标生成的。
坐标信息如下
<groupId>com.atguigu.maven</groupId>
<artifactId>pro01-maven-java</artifactId>
<version>1.0-SNAPSHOT</version>
在 Maven 仓库中生成的路径如下:
D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
安装操作还会将 pom.xml 文件转换为 XXX.pom 文件一起存入本地仓库。所以我们在 Maven 的本地仓库中想看一个 jar 包原始的 pom.xml 文件时,查看对应 XXX.pom 文件即可,它们是名字发生了改变,本质上是同一个文件。