简单了解springboot的jar包部署步骤
作者:刘宇航(城堡) 发布时间:2021-07-02 14:22:48
标签:spring,boot,jar,包,部署
由于springboot常用war包部署,改为cloud开发模式多端口情况下,部署反而不习惯
毕竟,war包要不要项目名访问都必须放在tomcat的root目录下
而此目录限制只能放置一个项目,并且登录端口限制为tomcat的接口了
因此,jar包部署就成了必然的方式了
1、添加pom设置
静态文件需要访问,所以静态文件webapp下的文件需要重新指定位置,具体配置如下
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
2、打包方式从war包改为jar包
1.注释war包模式
<!--<packaging>war</packaging>-->
<packaging>jar</packaging>
2.注释war-plugin
<!--<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build>-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>org.supwisdom.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
3.注释掉spring-boot-starter-tomcat相关依赖
4.注释Application.java中SpringApplicationBuilder configure
// @Override
// protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
// return application.sources(Application.class);
// }
public static void main(String[] args) throws Exception {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(Application.class, args);
}
启动方式:
cd 当前服务pom.xml同目录下
mvn clean package
java -jar target/***.jar
但是实际使用的时候产生了一定的问题,比如在开发期间,静态文件代码的修改,并不会时时反应,清除浏览器缓存也没有用
因此,该缓存是存在于springboot打包的jar中的
于是,开发中需要注释掉上述内容为好
来源:https://www.cnblogs.com/liuyuhangCastle/p/11669821.html
0
投稿
猜你喜欢
- 实例如下所示:/** * 创建多级目录文件 * * @param path 文件路径 * @throws IOException */pri
- 公司的svn的地址改变了,怎么办呢。自己本地的正在修改的项目怎么办呢?修改一下svn的服务器地址咯。1.就是先关闭ide,重新打开,然后选择
- 算法描述堆排序算法的描述如下:将待排序的数组调整为最大堆,此时未排序的长度 N 为数组的长度,调整的过程就是倒序将数组的
- Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无
- Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具
- 如下所示:import org.apache.commons.lang.StringUtils; public class Test {
- 导语相信大家无论是做前端还是做后端的,都被接口接口文档所折磨过,前端抱怨接口文档和后端给的不一致,后端抱怨写接口文档很麻烦,所以Swagge
- 一、什么是iText?在企业的信息系统中,报表处理一直占比较重要的作用,iText是一种生成PDF报表的Java组件。通过在服务器端使用Js
- 学生管理系统简单的实现,供初学Java Swing同学学习使用。import java.awt.Dimension;import java.
- 本文实例为大家分享了java实现单链表、双向链表的相关代码,供大家参考,具体内容如下java实现单链表:package code;class
- 面试题1:说一下抽象类和接口有哪些区别?正经回答:抽象类和接口的主要区别:从设计层面来说,抽象类是对类的抽象,是一种模板设计;接口是行为的抽
- 策略模式的应用场景策略模式是否要使用,取决于业务场景是否符合,有没有必要。是否符合如果业务是处于不同的场景时,采取不同的处理方式的话,就满足
- 如图所示的效果相信大家都不陌生,我们可以使用很多种方法去实现此效果,这里自己采用CountDownTimer定时器简单封装下此效果,方便我们
- Java是面向对象的编程语言,在我们开发Java应用的程序员的专业术语里,Java这个单词其实指的是Java开发工具,也就是JDK(Java
- Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的(当然现在已经有几百兆的内存可以用了——译者注)。它
- 一 前言学习微服务要从基础的架构学起,首先你要有个微服务的概念才能学习对吧!!如果你都不知道啥是微服务,就一头扎进去学习,你自己也觉得自己也
- 一、饿汉式单例类public class Singleton { privat
- Android 微信摇一摇功能实现,最近学习传感器,就想实现摇一摇的功能,上网查了些资料,就整理下。如有错误,还请指正。开发环境Androi
- Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。B
- 一、需求场景有时候我们需要在项目中使用一些静态资源文件,比如城市信息文件 countries.xml,在项目启动后读取其中的数据并初始化写进