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

执行Spring Boot的mvn package时自动启动应用如何禁用?

问题解答

是不是spring-boot-maven-plugin导致的?

这个现象确实和spring-boot-maven-plugin相关,但核心原因是Maven默认的package阶段会先执行test阶段——如果你的项目里有带@SpringBootTest注解的测试类,这类测试会启动Spring应用上下文,进而触发数据源连接操作。而spring-boot-maven-plugin本身的repackage目标(package阶段默认绑定的目标)不会启动应用,只是完成可执行jar的重新打包。

如何禁用打包时的应用启动?

有两种直接的解决方式:

  1. 打包时跳过测试阶段
    在执行打包命令时添加参数,跳过测试的执行:

    mvn package -DskipTests
    

    如果连测试代码的编译都想跳过,可以用:

    mvn package -Dmaven.test.skip=true
    
  2. 修改插件配置固定跳过测试
    要是不想每次都加命令行参数,可以在pom.xml的spring-boot-maven-plugin中配置,强制跳过测试相关的启动逻辑:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    不过更推荐第一种命令行参数的方式,避免影响日常的测试执行流程。

内容的提问来源于stack exchange,提问作者Stefano Maglione

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:59:51