将springboot聚合项目打成war包

本文介绍了如何在IntelliJ IDEA中将Spring Boot项目打成WAR包。首先需要排除项目中自带的Tomcat,接着引入servlet依赖。然后重写Spring Boot启动类的configure方法。最后,在IDEA中配置Artifacts,删除默认包,添加新的web application:exploded,从模块中选择所有项目,并指定WEB-INF目录。完成设置后,通过Build菜单的Web application:archive选项进行打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot中是自带Tomcat的所以我们需要将自带的tomcat排除,找到项目的POM文件中的spring-boot-starter-web

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!--  移除嵌入式tomcat插件&ndash;&gt;-->
           <exclusions>
               <exclusion>
                   <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
           </exclusions>
        </dependency>

然后导入servlet

           <dependency>
<!--         此时运行会报错,把<scope>provided</scope>去掉才能运行)-->
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <version>3.1.0</version>
           <scope>provided</scope>
        </dependency>

最后到springboot启动程序重写configure方法

@SpringBootApplication
@MapperScan("com.xr.run.dao")
public class RunApplication extends SpringBootServletInitializer{
    @Resource
    private Environment environment;

    public static void main(String[] args) {
        SpringApplication.run(RunApplication.class, args);
    }

    private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver){
        if(viewResolver!=null){
            Map<String,Object> vars=new HashMap<>();
            vars.put("html",environment.getProperty("html"));
            vars.put("visitbackstage",environment.getProperty("visitbackstage"));
            vars.put("staticfile",environment.getProperty("staticfile"));
            viewResolver.setStaticVariables(vars);
        }
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(RunApplication.class);
    }

 

最后使用idea配置打包程序

按ctrl+alt+shift+s  --->点击左边菜单栏的Artifacts---->删除其中自带的包---->然后添加----->选择web application:exploded---->from moduls---->选择所有项目---->选择WEB-INF右键点击Add copy of   ---> Moduls OutPut 选择需要打包的项目--->在点击添加选择web application:Archive选择刚才添加的web application:exploded--->点击应用关闭窗口

 

现在就可以开始打包了点击idea上面的菜单栏上的build,选择刚才最后打包的Web application:archive

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值