springboot集成Junit在执行测试类的时候提示Failed to resolve异常

项目场景:springboot集成Junit在执行测试类的时候提示Failed to resolve异常

项目场景:springboot版本2.5.7,Junit版本:4.13.2,在执行测试类的时候idea提示异常:Error running ‘EsIndexHandle.deleteIndex’: Failed to resolve org.junit.platform:junit-platform-launcher:1.7.2


一、依赖引入

SpringBoot依赖版本以及Junit依赖

    <!-- Springboot 版本依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.7</version>
        <relativePath/>
    </parent>
    
     <!-- junit 依赖 -->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
     </dependency>
     <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <scope>test</scope>
     </dependency>

二、测试代码块

SpringBoot编写的junit单元测试类

import com.oak.expro.EsApplication;
import estool.Consts;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.support.master.AcknowledgedResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith ;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = EsApplication.class)
public class EsIndexHandle {
    @Autowired
    private  RestHighLevelClient restHighLevelClient;

    @aTest
    public void deleteIndex() {
        deleteIndex(Consts.oldIndex);
    }
    public void deleteIndex(String index){
        DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(index);
        AcknowledgedResponse delete = null;
        try {
            delete = restHighLevelClient.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
        } catch (IOException e) {
            System.out.println("删除索引异常:"+e.getMessage());
        }
        boolean acknowledged = delete.isAcknowledged();
        System.out.println("acknowledged:" + acknowledged);
    }
}

问题描述

错误内容如下:Error running ‘EsIndexHandle.deleteIndex’: Failed to resolve org.junit.platform:junit-platform-launcher:1.7.2
报错图片

错误原因:

用junit时,IntelliJ IDEA开发工具尝试连接到Maven中央仓库,不使用开发工具中的Maven配置C:\Users\admin.m2\settings.xml,被屏蔽了访问不到

解决方案:

方案:修改pom.xml

解决方式:添加依赖

  <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-launcher</artifactId>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <version>5.7.0</version>
      <scope>test</scope>
  </dependency>

你可能感兴趣的:(问题处理,junit,spring,boot,java)