项目场景: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>