路飞学院
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

 

期待指正与补充,谢谢!


打赏

已有1人打赏

最代码官方的gravatar头像

分享到:

最近浏览
silenceawen LV23小时前
星星星星
fengzf LV14昨天
月亮月亮月亮星星星星
最代码风一 LV7昨天
月亮星星星星星星
最爱曼宝 LV13昨天
月亮月亮月亮星星
liuliu LV23昨天
太阳月亮星星星星星星
faersheng2017 LV5前天
月亮星星
huhaozxc LV23月16日
星星星星
全城热恋 LV193月15日
太阳星星星星星星
pannijingling LV33月15日
星星星星星星
若余相思 LV63月14日
月亮星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友