前言
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
在SpringBoot中,有两种打包方式:一种是jar,另外一种就是war;其jar打包方式可以让SpringBoot通过java -jar xxx.jar
方式来进行运行,甚是方便。但是由于有时候我们又需要将项目放在同一个tomcat下面运行,那么我们就需要将SpringBoot打包成war包。
正文
第一步
首先,我们需要将pom.xml
中的打包方式改成war
<packaging>jar</packaging>
替换成
<packaging>war</packaging>
第二步
将spring-boot-starter-tomcat
的scope
属性设置为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之后 静态资源加载404怎么处理啊?求教求教
@小毛驴 看一下你的tomcat配置以及引入的相对路径是否正确
@小毛驴 你也可以将war包解压看看包内是否含有静态文件,首先排除打包之后不存在静态资源这个问题。
大佬,能帮我分析分析么。 我的springboot项目 是 按照您这上面的 步骤来 打包 然后部署的 在接着就是启动 Tomcat 没反应了,也不报错
@小夜曲 解压看看war里面是否完整
文章不错非常喜欢
@快乐网讯 谢谢
博主,你的个人网站很高大上啊,能不能教一下,我也想做一个个人网站
@desumg 已回复
等我把 Java 几大框架学完了,也要学一下 SpringBoot

@言曌博客 可以的
这个东西不太懂,点赞支持,哈哈
@闲鱼 谢谢支持
SpringCloud使用Zuul出现“Forwarding error”错误解决方法
Chatroulette-全世界随机视频聊天网站
IntelliJ IDEA下将JavaWeb打包成war包并发布到tomcat步骤说明
LiRecord留言板系统V2.0正式版发布
SpringBoot打包成war包并放置在tomcat运行
SpringBoot+Shiro整合进行登录验证与权限控制
多风格自适应WordPress主题Puock正式开源!
非大众版WordPress纯代码实现阅读量统计
面包多WordPress插件 – 把你的文章变成付费版
git reset —hard后暂存区代码跑哪儿去了?
选择表情
分享至