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

Spring Boot Maven项目War包WEB-INF/classes为空致启动失败求助

解决Spring Boot Maven打包War后WEB-INF/classes为空及主类找不到的问题

以下是针对你遇到问题的具体解决步骤:

  • 补全POM必填坐标
    你的POM缺失了<groupId>标签,这是Maven项目的核心必填配置,缺失会导致构建路径异常,无法正确打包编译产物。在<parent>标签后添加项目的groupId(可根据实际情况修改):

    <groupId>com.your-project-group</groupId>
    <artifactId>your-project-artifact</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    
  • 确认项目目录结构符合Maven标准
    确保Java源码存放于src/main/java目录,资源文件存放于src/main/resources。如果自定义了源码路径,需在POM的<build>节点中明确配置:

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <!-- 其他构建配置 -->
    </build>
    
  • 调整主类继承SpringBootServletInitializer
    打包War包时,Spring Boot主类需要继承SpringBootServletInitializer以适配Servlet容器部署,同时确保打包逻辑正确识别主类:

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    
  • 执行完整Maven构建命令
    清理旧构建缓存并重新编译打包,过程中检查控制台是否有编译错误(如JDK版本不匹配、Lombok注解未处理等):

    mvn clean install
    

    注意确认虚拟机中的JDK版本与POM配置的java.version=17一致,同时确保IDE已安装Lombok插件以支持注解编译。

  • 完善Spring Boot Maven插件配置
    为插件添加executions配置,确保其参与War包的重打包流程:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <mainClass>start.Application</mainClass>
            <excludes>
                <exclude>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                </exclude>
            </excludes>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:41:55