如何将一个SpringBoot简便地打成一个war包(亲测有效)
正常情况下SpringBoot项目是以jar包的形式,通过命令行:
来运行的,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服务器。正因如此,也出现了一个问题: 
上传到项目的文件,如果是保存在项目中的,那么重启过后文件就会丢失。比如我们上传了一个头像,重启项目后,这个头像就没了。而如果将文件保存在本地磁盘中的话,html中标签没办法获取。因此,我们才需要将SpringBoot项目打成war包,放到Tomcat中去运行。
在pom.xml文件中添加下面的依赖:
同时,将pom.xml文件首部的jar改成war
最后,将启动类从
修改为
注意:该类继承了SpringBootServletInitializer并且重写了configure方法,这是关键所在。
在IDEA右侧Maven栏双击package等待Build Success即可。 
然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。 
最后在浏览器中输入
发布成功
如何将一个SpringBoot简便地打成一个war包(亲测有效)的更多相关文章
- 如何将一个SpringBoot简便地打成一个war包(转)
		为什么要把SpringBoot打成war包 正常情况下SpringBoot项目是以jar包的形式,通过命令行: java -jar demo.jar 来运行的,并且SpringBoot是内嵌Tomca ... 
- SpringBoot简便地打成一个war包
		正常情况下SpringBoot项目是以jar包的形式,通过命令行: java -jar demo.jar 来运行的,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tom ... 
- SpringBoot项目打成一个war包
		springboot 带有内置Tomcat 服务器,可以直接将项目打包成jar运行,运行命令为: java -jar demo.jar 但是如果在需要把项目达成war包该怎么办呢?下面是将spring ... 
- Springboot中,Tomcat启动war包的流程
		将一个SpringBoot项目,打成war包 <!-- 1. 修改POM依赖 --> <dependency> <groupId>org.springframewo ... 
- Maven将代码及依赖打成一个Jar包的方式
		Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ... 
- springboot多模块项目打war包
		一.父模块配置 1,指定pakaging:pom 2,指定编译的版本:如下图: <properties> <project.build.sourceEncoding>UTF-8 ... 
- springboot项目打包成jar/war包
		springboot项目打包过程中包含第三方jar 开发IDE是IntelliJ IDEA,数据库是mysql,内置服务器tomcat. 打包步骤: 1. 确定项目调试运行没问题 2. 将第三方jar ... 
- linux下springboot项目通过jetty发布war包应用
		Linux下jetty发布jar包 1.通过官网下载jetty点击下载https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distributi ... 
- springboot项目如何打包成war包
		一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-s ... 
随机推荐
- dotnet sdk 的镜像tag 相关
			https://hub.docker.com/_/microsoft-dotnet-core-sdk/ 微软的dotnet sdk 的 tag 微软貌似改默认镜像 dockerhub 里面的tag与 ... 
- PhoneGap学习网址
			官网:http://app-framework-software.intel.com/ 下载地址:http://download.csdn.net/download/haozq2012/7635951 
- EML文件(MIME邮件)格式分析
			电子邮件普遍遵循的邮件技术规范.MIME邮件由邮件头和邮件体两部分组成.邮件头包括:标题,送信人,收信人,创建日期,邮件体内容类型和邮件体编码方式等内容.邮件体包括:正文,超文本,内嵌数据和附件等内容 ... 
- 部署CM集群首次运行报错:Formatting the name directories of the current NameNode.
			1. 报错提示 Formatting the name directories of the current NameNode. If the name directories are not emp ... 
- ARM之cache
			一. 什么是cache 1.1. cache简介 a. Cache 即高速缓冲存储器,是位于 CPU 与内存之间的高速存储器,它的容量比内存小但交换速度快. b. ARM处理器的主频为上百M甚至几G, ... 
- NoSQL特点
- python学习五十五天subprocess模块的使用
			我们经常需要通过python去执行一条系统执行命令或者脚本,系统的shell命令独立于你python进程之外的,没执行一条命令,就发起一个新的进程, 三种执行命令的方法 subprocess.run( ... 
- html5移动端Meta的设置
			强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览 1 <meta name="viewport" content=&quo ... 
- 【 React -- 2/100 】使用React实现评论功能
			React| 组件化 | 递归 | 生成唯一ID 需要探究一下 .find() 和 findIndex() 的区别 import React from 'react' import './commen ... 
- Pygame播放背景音乐与音效
			1.播放背景音乐 pygame.mixer.music.load() 加载MP3格式 加入pygame.mixer.init()即可 第十一行第一个参数:播放次数(n>0),n=0时播放1次,- ... 
