You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Spring Boot至2.7.1时出现org.springframework.boot.test包不存在错误求助

Spring Boot 2.7.1升级后出现package org.springframework.boot.test does not exist错误

我们正在将Spring Boot版本升级至2.7.1,构建代码时遇到了package org.springframework.boot.test does not exist错误。

依赖片段

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.1</version>
</parent>
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-validator</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>log4j-over-slf4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mongodb</groupId>
                    <artifactId>mongo-java-driver</artifactId>
                </exclusion>
                 <exclusion>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-json</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.2</version>
</dependency>
        
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.2</version>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.17.2</version>
</dependency> 
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
     </dependency>
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>

测试类示例

我们有多个使用@ContextConfiguration的测试类,以下是其中一个:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = {
        ServicesConfig.class,
        RepositoryConfig.class,
        PropertySources.class,
        JmxConfig.class,
        UtilConfig.class,
        AsyncConfig.class,
        TenantIdentityConfig.class
})
@DirtiesContext
public abstract class AbstractAppInitializer {
}

补充说明:pom.xml中已定义spring-boot-starter-web依赖(内容与上述依赖片段中一致)。


解决方法

  • 校验测试类路径:确保所有引用org.springframework.boot.test包的测试类都放在src/test/java目录下。因为spring-boot-starter-test的依赖范围是test,只有测试目录内的代码才能访问该依赖。
  • 刷新Maven依赖:执行命令强制更新依赖,确保包正确下载:
    mvn clean install -U
    
  • 排查依赖冲突:运行mvn dependency:tree查看依赖树,确认是否存在依赖冲突或意外排除了spring-boot-starter-test的相关组件,如有冲突需调整排除规则或指定版本。
  • 替换过时测试注解:Spring Boot 2.7.x中@RunWith(SpringJUnit4ClassRunner.class)已过时,建议替换为@ExtendWith(SpringExtension.class),适配新版本测试框架:
    @ExtendWith(SpringExtension.class)
    @WebAppConfiguration
    @ContextConfiguration(classes = {
            ServicesConfig.class,
            RepositoryConfig.class,
            PropertySources.class,
            JmxConfig.class,
            UtilConfig.class,
            AsyncConfig.class,
            TenantIdentityConfig.class
    })
    @DirtiesContext
    public abstract class AbstractAppInitializer {
    }
    

内容的提问来源于stack exchange,提问作者Anish Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 08:03:57