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

如何在本地使用Spring Boot开发同时生成可部署到WildFly的WAR包

实现Spring Boot本地开发与WildFly WAR部署兼容的配置方案

第一步:调整Maven打包配置

  • 修改打包方式为war:<packaging>war</packaging>
  • 排除Spring Boot内置的Tomcat依赖,设置为provided作用域,该配置不会影响本地开发时的依赖加载,打包时会自动排除内置Tomcat避免和WildFly的Servlet容器冲突
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
  • 保留Spring Boot Maven插件,保留可执行WAR特性
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>

注意:项目中引入的Servlet、JSP等Java EE规范相关依赖,请统一设置<scope>provided</scope>,避免和WildFly内置的规范实现包冲突。

第二步:修改启动类配置

启动类继承SpringBootServletInitializer并重写configure方法,适配外部Servlet容器的启动规则,同时保留原有main方法供本地开发使用

@SpringBootApplication
public class YourApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        // 本地开发直接运行该方法即可,和原有开发体验完全一致
        SpringApplication.run(YourApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(YourApplication.class);
    }
}

第三步:上下文路径适配

  • 本地开发时直接在application.properties中配置server.servlet.context-path自定义访问路径即可
  • 部署到WildFly时如果需要指定上下文路径,在src/main/webapp/WEB-INF目录下新增jboss-web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
    <context-root>自定义上下文路径</context-root>
</jboss-web>

验证方式

  • 本地开发:直接运行启动类main方法,或执行mvn spring-boot:run命令即可正常启动
  • 打包部署:执行mvn clean package命令,生成的WAR包既可以通过java -jar 包名.war本地运行,也可以直接上传到WildFly部署目录完成部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:06:03