SpringBoot打包并部署到Tomcat

1 修改入口类

继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer类,覆盖configure()方法,用于打包。

@SpringBootApplication
public class MutildataApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(MutildataApplication.class, args);
    }
	
    // 用于构建war文件并进行部署
    @Override
    protected SpringApplicationBuilder configure(
        SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }
}

2 修改.pom

首先指定打包方式,可选jar/war,这里打包为war包。

<packaging>war</packaging>

处理依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

1 排除 spring-boot-starter-tomcat。 这个其实不是必须的,就是不排除这个,打包后jar包里面多了tomcat插件相关的jar,看起来不严谨。

2 增加 javax.servlet-api。 如果没有排除 tomcat依赖的话,可以不加这个,但如果排除了tomcat插件依赖就必须加这个了。

还有说明一下,如果测试阶段用 mvn clean spring-boot:run 启动,是万万不能排除 tomcat依赖的。所以,我是在开发阶段注释掉这个依赖,在部署打包前,再让这个依赖生效。

3 打包

执行maven 命令: 

mvn  clean  package

很多朋友不习惯添加 clean ,我觉得很奇怪,注意,一定要加上这个。

4 部署到Tomcat

在 target 文件夹下找到war,或文件夹,直接拷贝到 tomcat下的webapps文件夹下即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值