mvn打包报错,程序包org.junit.jupiter.api不存在

mvn 打包报错,具体报错如下:

Error:(3, 29) java: 程序包org.junit.jupiter.api不存在
Error:(9, 6) java: 找不到符号
  符号:   类 Test
  位置: 类 com.test.xxx.XxxApplicationTests

看下pom.xml文件中 spring-boot-starter-test 依赖是否排除了 junit-vintage-engine,如下:

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

改为:

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

重新编译项目,发现导入包 Test 报错,如下:

Error:(3, 29) java: 程序包org.junit.jupiter.api不存在
Error:(9, 6) java: 找不到符号
  符号:   类 Test
  位置: 类 xxx

将报错的import 删除, 重新导包,再次重新编译项目 不在报错

mvn clean package 重新打包项目
又报错

java.lang.Exception: The class com.xxx.xxx.XxxApplicationTests is not public.
java.lang.Exception: Test class should have exactly one public constructor

将上面项目报错的 Test类 改为public, 以及测试方法 contextLoads 也改为 public

@SpringBootTest
public class XxxApplicationTests {

    @Test
    public void contextLoads() {
    }

}

重新打包 mvn clean package ,编译成功

如果上述过程还是无法解决,
那么 可以用 mvn clean package -DskipTestsmvn clean package -Dmaven.test.skip=true 忽略测试
或者 在pom.xml中编译配置忽略测试
当然,我们还可以 直接删除 项目中Test 目录

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值