coding喵的gravatar头像
coding喵 2019-03-07 21:32:42
springboot打成war包发布到外置tomcat

springboot默认打成jar包,但今天公司非让我打成war包,没办法,好好的内置tomcat不用,真。。。

springboot打成war包主要需要让工程屏蔽内置tomcat并且继承SpringBootServletInitializer接口。

1.建一个ServletInitializer类并且继承SpringBootServletInitializer类

注意:ServletInitializer类与springboot启动类同级目录

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(*******Application.class);
    }
}

 

2.在pom.xml中将打包方式改为war

springboot打成war包发布到外置tomcat

 

3.在pom.xml中移除内置tomcat

代码:

<!-- 打包war使用,移除内置tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <!---->

图片:

springboot打成war包发布到外置tomcat

 

4.为了防止项目资源加载不到,加上命名

springboot打成war包发布到外置tomcat需与properties文件中的

server.servlet.context-path=***********

保持一致

 

5.配置maven插件

springboot打成war包发布到外置tomcat

 

6.先后运行maven的clean和package命令

springboot打成war包发布到外置tomcat

package成功后,就可以在target目录下取到.war文件

 

7.非安装tomcat部署项目

将war包扔到webapps目录下

springboot打成war包发布到外置tomcat

 

点击shutdown.bat关闭tomcat,startup.bat启动tomcat

 

springboot打成war包发布到外置tomcat

 

期待指正与补充,谢谢!


打赏

已有2人打赏

君知否的gravatar头像 最代码官方的gravatar头像
最近浏览
水光浮藻  LV6 2022年12月19日
majun233  LV1 2022年1月30日
lelelada  LV8 2021年6月16日
zhutianhua 2021年5月11日
暂无贡献等级
chao522303  LV3 2021年1月29日
想想未来  LV3 2020年12月8日
worthy 2020年12月4日
暂无贡献等级
海盗来了  LV20 2020年6月30日
liu281337084  LV2 2020年3月23日
君知否  LV17 2020年1月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友