SpringBoot打包成war包并放置在tomcat运行

19,278次阅读次阅读
13条评论

前言

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

在SpringBoot中,有两种打包方式:一种是jar,另外一种就是war;其jar打包方式可以让SpringBoot通过java -jar xxx.jar方式来进行运行,甚是方便。但是由于有时候我们又需要将项目放在同一个tomcat下面运行,那么我们就需要将SpringBoot打包成war包。 SpringBoot打包成war包并放置在tomcat运行

正文

第一步

首先,我们需要将pom.xml中的打包方式改成war

<packaging>jar</packaging>

替换成

<packaging>war</packaging>

第二步

spring-boot-starter-tomcatscope属性设置为provided

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

第三步

添加ServletInitializer

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}
注:上方的Application.class中的Appliation类为你的SpringBoot启动类。

第四步

在项目根目录下运行maven命令

mvn clean package
执行到这一步,如果控制台没有出现ERROR就打包OK了,其war包在target目录下,将其复制到tomcat/webapps目录下启动服务器即可访问

后记

如果文章有任何纰漏,请在下方评论区反馈出来,博主会第一时间进行改正,谢谢 SpringBoot打包成war包并放置在tomcat运行

12
憧憬Licoy
版权声明:本站原创文章,由憧憬Licoy2017-08-03发表,共计2012字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(13条评论)
Loading...
小毛驴 评论达人LV.1
2018-09-10 09:42:23 回复

springboot项目 打war之后 静态资源加载404怎么处理啊?求教求教

    憧憬Licoy 博主
    2018-09-10 09:44:06 回复

    @小毛驴 看一下你的tomcat配置以及引入的相对路径是否正确

    憧憬Licoy 博主
    2018-09-10 09:44:54 回复

    @小毛驴 你也可以将war包解压看看包内是否含有静态文件,首先排除打包之后不存在静态资源这个问题。

小夜曲 评论达人LV.1
2018-04-05 19:55:44 回复

大佬,能帮我分析分析么。 我的springboot项目 是 按照您这上面的 步骤来 打包 然后部署的 在接着就是启动 Tomcat 没反应了,也不报错

快乐网讯 评论达人LV.1
2017-11-13 11:11:06 回复

文章不错非常喜欢

desumg 评论达人LV.1
2017-08-16 18:12:38 回复

博主,你的个人网站很高大上啊,能不能教一下,我也想做一个个人网站

言曌博客 评论达人LV.1
2017-08-13 13:03:35 回复

等我把 Java 几大框架学完了,也要学一下 SpringBoot :mrgreen: :mrgreen: :mrgreen:

闲鱼 评论达人LV.2
2017-08-03 22:03:48 回复

这个东西不太懂,点赞支持,哈哈