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

20,277次阅读
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
版权声明:本站原创文章,由 憧憬Licoy 2017-08-03发表,共计1194字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(13条评论)
验证码
载入中...
小毛驴 评论达人 LV.1
2018-09-10 09:42:23 回复

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

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

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

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

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

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

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

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

文章不错非常喜欢

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

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

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

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

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

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

 iPad  Weixin