如何将一个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,即可自动解压部署。
最后在浏览器中输入

发布成功

原文地址:https://www.cnblogs.com/zhangyiqinga/p/9777169.html

时间: 2024-08-30 12:18:30

如何将一个SpringBoot简便地打成一个war包(亲测有效)的相关文章

Maven将代码及依赖打成一个Jar包的方式

Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class).ClassNotFoundException(找不到依赖包)等错误. 要想jar包能直接通过java -jar xxx.jar运行,需要满足: 1.在jar包中的META-INF/MANIFEST.MF中指定Main-Class,这样才能确定程序的

springboot多模块项目打war包

一.父模块配置 1,指定pakaging:pom 2,指定编译的版本:如下图: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> 3,屏蔽内置的tomcat: (1)这个内置的tomcat是在spring-boot-starter-w

linux下springboot项目通过jetty发布war包应用

Linux下jetty发布jar包 1.通过官网下载jetty点击下载https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/ 2.下载后解压,进入%JETTY_HOME%,编辑start.ini修改默认端口号. 3.将war包放入%JETTY_HOME%/webapps下 4.启动应用bin/jetty.sh start,停止应用bin/jetty.sh stop ,重启bin/jetty.sh restart _

spring-boot分环境打包为war包

1.启动类修改 @EnableSwagger2 @SpringBootApplication public class CustWebAcApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(CustWebAcApplication.class, args); } @Override protected SpringAppl

maven学习:多Web应用,合并成一个War包

1.在总的web的pom里面,加入要合并的war内容,示例如下: <!-- 在总的web的pom里面,加入要合并的war内容 --> <plugin>     <groupId>org.apache.maven.plugins</groupId>     <artifactId>maven-war-plugin</artifactId>     <version>2.4</version>     <co

Maven工程打成一个jar包

1:maven-shade-plugin 插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configur

自己做了一个json格式化工具,亲测可以使用

随笔背景:在向后台请求数据之后,我们常常会拿到一串json格式.此时,为了方便查看key-value,程序猿们常常使用一些在线json格式化工具或者是类似于notepadd++这样的工具进行转换.今天笔者捋了捋思路,自己写了一个格式化json数据的小插件.记录于此. 1.在页面上部署一个空白的div,可以向里面输入json数据,方便转化. html代码如下: <div class="flexBox"> <div id="data2" content

(转)用 Maven 部署 war 包到远程 Tomcat 服务器

转自蒋国纲 www.cnblogs.com/guogangj/p/5505228.html 用Maven部署war包到远程Tomcat服务器 过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们在用SSH把文件拽上去的时候很可能会搞错.(当然了大厂就不会有这样的问题,因为人家有运维团队专门来干这个事情,哈哈) 现在我要的是:一行命令部署到本地服务器,

用Maven部署war包到远程Tomcat服务器

原文:http://www.cnblogs.com/guogangj/p/5457959.html#3574439 过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们在用SSH把文件拽上去的时候很可能会搞错.(当然了大厂就不会有这样的问题,因为人家有运维团队专门来干这个事情,哈哈) 现在我要的是:一行命令部署到本地服务器,在本地测试一番,没有问题的