Maven配置,Idea集成Maven_依赖引入,Idea生成单元测试

发布于:2025-08-05 ⋅ 阅读:(19) ⋅ 点赞:(0)

Maven官方网址:传送门

一、Maven下载以及配置

.在下载好解压之后需要找到其位置,小小的配置一下:

  1. 新建仓库文件夹,我这里将其命名为maven_repo
  2. 配置settings.xml

在这里插入图片描述
进入conf目录下,找到settings.xml文件,用记事本打开,或者其他软件打开

找到mirror这个标签,进行如下配置,链接阿里云私服
在这里插入图片描述

	<mirror>  
		<id>alimaven</id>  
		<name>aliyun maven</name>  
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<mirrorOf>central</mirrorOf>          
	</mirror>

本地仓库查找:Maven 首先会在本地仓库(~/.m2/repository)中查找依赖。

私服查找(如果配置):

如果本地没有,且项目中配置了私服(如 Nexus、Artifactory),Maven 会按照 settings.xml 或 pom.xml 中配置的私服地址去查找。

私服通常会代理中央仓库(或其他远程仓库),但私服的行为取决于其配置:

如果私服有缓存(之前有人下载过该依赖),则直接返回。

如果私服未缓存,且配置了中央仓库代理(如 repo.maven.apache.org),私服会从中央仓库下载并缓存到私服,再返回给本地。

中央仓库(默认行为):

如果没有配置私服,Maven 会直接去中央仓库下载(除非显式禁用了默认中央仓库配置)。

下来找到这个标签,在里面写本地仓库的绝对地址
在这里插入图片描述
3. 配置系统环境变量

win11系统:右键桌面的此电脑,点击属性,找到高级系统设置
在这里插入图片描述
点击环境变量,在系统环境变量下操作,单击新建
在这里插入图片描述
根据自己的Maven路径做出如下设置:
在这里插入图片描述
新建完成,点击Path这一变量,新建变量如下:

%MAVEN_HOME%\bin

这样就配置的差不多了。测试一下
win+r键,输入cmd
mvn -v
在这里插入图片描述

mvn help:system

这一步可能需要花费一点时间,因为Maven会自动下载缺省的或者更新的各种配置文件和依赖到我们设置的本地仓库中

出现在这里插入图片描述
即为配置成功。

二、Idea集成maven

在这里插入图片描述
点击File,选择Close Project

点击Customize
在这里插入图片描述

选择All settings
在这里插入图片描述
根据自己的Maven路径配置:
从上到下分别为:

  1. Maven文件夹的路径
  2. Maven setting.xml配置文件的路径
  3. Maven本地仓库的路径
    在这里插入图片描述
    在Runner中选择自己的JDK
    在这里插入图片描述

这里同样
在这里插入图片描述
之后打开应用保存,打开 Idea
在这里插入图片描述
创建新项目:选择Maven构建项目
在这里插入图片描述
点击create
在这里插入图片描述
创建之后是这个样子,在资源管理中,src下的main目录下的Java目录存的是我们的核心代码,Test目录写的是我们测试的代码(后面会展示),写个Hello world来测试一下,能不能正常输出

在这里插入图片描述
ok,没问题,而且右边资源管理出现了target目录
target文件夹是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件

下来我们来导入依赖;
在右边的资源管理中,点击pom.xml
在这里插入图片描述

输入标签,我们可以在这个标签中引入依赖,下来我们进入依赖的网站mvnrepository(PS:人机过不去的可以尝试切换手机热点)
打开是这样的,可以在上方的搜索框输入我们想要的依赖。

在这里插入图片描述
这里例如:Spring-context
在这里插入图片描述
选择版本,这里我选择的是6.1.4的版本,复制红色框的内容,之后回到Idea
在这里插入图片描述
直接粘贴在这里标签里面在这里插入图片描述

在本地仓库中没有的话就会显示红色,点击Maven的刷新,Maven就会从私服中下载到这个依赖存入到本地仓库
在这里插入图片描述
例如:我的电脑中没有6.1.6这个版本,就会变为红色,此时点击刷新
在这里插入图片描述
就会自动下载
在这里插入图片描述
之后就会变为正常的颜色
在这里插入图片描述

三、Idea生成单元测试

测试代码如下:

package d1;

import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;

public class UserService {

    /**
     * 给定一个身份证号, 计算出该用户的年龄
     * @param idCard 身份证号
     */
    public Integer getAge(String idCard){
        if (idCard == null || idCard.length() != 18) {
            throw new IllegalArgumentException("无效的身份证号码");
        }
        String birthday = idCard.substring(6, 14);
        LocalDate parse = LocalDate.parse(birthday, DateTimeFormatter.ofPattern("yyyyMMdd"));
        return Period.between(parse, LocalDate.now()).getYears();
    }

    /**
     * 给定一个身份证号, 计算出该用户的性别
     * @param idCard 身份证号
     */
    public String getGender(String idCard){
        if (idCard == null || idCard.length() != 18) {
            throw new IllegalArgumentException("无效的身份证号码");
        }
        return Integer.parseInt(idCard.substring(16,17)) % 2 == 1 ? "男" : "女";
    }

}

规范测试文件一般以:XXXTest的格式
在这里插入图片描述
引入如下依赖;

		<dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.9.1</version>
        </dependency>

在测试文件中:

import d1.UserService;
import org.junit.jupiter.api.Test;

public class UserServiceTest {
  @Test
    public void testGetAge() {
    UserService userService = new UserService();
    Integer age = userService.getAge("110101199001011234");
    System.out.println(age);
  }


}

这里规定测试必须以public void开头,必须遵守,记得写@Test注解
点击进行测试
在这里插入图片描述
在这里插入图片描述
Test passed 1 证明过了一个单元测试 此人今年35岁


网站公告

今日签到

点亮在社区的每一天
去签到