首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring boot在JAR更新后自动重启

Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它提供了一种快速、方便的方式来创建基于Java的应用程序,并且具有自动配置和约定优于配置的特性。

在Spring Boot中,当JAR文件更新后,可以通过一些配置来实现自动重启的功能。具体来说,可以使用Spring Boot DevTools模块来实现此功能。Spring Boot DevTools是一个可选的开发者工具,它提供了许多有用的功能,包括自动重启。

要在Spring Boot中实现JAR更新后自动重启的功能,可以按照以下步骤进行操作:

  1. 在项目的pom.xml文件中添加Spring Boot DevTools依赖:
代码语言:txt
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
  1. 在IDE中启动应用程序时,确保已启用自动构建(Auto Build)功能。这样,当项目的源代码或资源文件发生更改时,IDE会自动重新构建项目。
  2. 运行应用程序时,可以使用以下方式来实现自动重启:
    • 在IDE中运行应用程序时,可以通过修改源代码或资源文件来触发自动重启。
    • 在命令行中使用mvn spring-boot:run命令运行应用程序时,同样可以通过修改源代码或资源文件来触发自动重启。

自动重启功能的优势在于,它可以提高开发效率和开发体验。当进行代码调试或功能开发时,无需手动停止和重新启动应用程序,只需修改代码或资源文件,应用程序就会自动重启,从而加快了开发迭代的速度。

Spring Boot DevTools还提供了其他一些有用的功能,例如自动应用程序重载、热交换、LiveReload等。这些功能可以进一步提升开发效率和开发体验。

对于Spring Boot应用程序的部署和运行,腾讯云提供了一系列相关产品和服务,例如云服务器、容器服务、云原生应用引擎等。您可以根据具体需求选择适合的产品和服务进行部署和运行。更多关于腾讯云相关产品和服务的介绍,请参考腾讯云官方网站:腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot的热部署,告别修改代码重启

所谓热部署就是在你修改代码的时候重修编译程序,使用过Tomcat也许知道Tomcat中可以进行热部署或者热加载,那么Spring Boot该如何在内置服务器中进行热部署呢?...它为我们提供了一个模块叫做devtools maven中依赖spring-boot-devtools,注意看(无法实现的是一般是没注意看) ?...导入spring boot模块时版本要一致,不然会报错滴 maven全局插件配置里面添加编译节点 ?...接下来我们要打开IntelliJ IDEA的自动编译Class文件 热部署的原理是产生一个新的类加载器,所以我们一个类JVM中可能会产生两个独立的类 我们打开IntelliJ IDEA的首选项,进行如下设置...OK,现在把项目重启,每当你修改代码时,便会启动热部署 以上便是Spring Boot热部署的开启步骤 谢谢关注~记得点个赞再走哦

1.7K30
  • Spring Boot 项目自动重启以及 jps 查不到 java 进程的原因及解决方法

    问题描述 实际上,遇到了两个问题,分别是: 程序总是在运行了一段时间自动重启,而且不断的重启程序正常运行期间,使用jps命令查看 java 进程,查不到该应用的进程。...检查项目,发现没有用到该 jar 包,因此排除依赖,重新打包、部署、启动项目,该问题解决。现在,我们来看项目重复启动的问题: ?...: +- org.springframework.boot:spring-boot-starter-thymeleaf:jar | +- org.springframework.boot:spring-boot-starter-web...:jar | | +- org.springframework.boot:spring-boot-starter-tomcat:jar 但实际上,现在程序是能够启动的,这也就说明了并不是因为缺少tomcat...该日志消息来自于spring-boot-devtools依赖,而该依赖的作用就是方便我们进行热部署,即在程序有变化的时候,自动重启服务,这也就是我们的 Spring Boot 项目自动重启的原因了。

    2.2K20

    又被问了:Spring Boot 定时任务开启,怎么符合条件自动停止?

    点击关注公众号,Java干货及时送达 背景 昨天,咱们的《知识星球:Java技术栈》里面有粉丝向我提问: 问题大概就是: Spring Boot 定时任务开启,怎么符合条件自动停止?...Boot 基础就不介绍了,推荐下这个实战教程: https://github.com/javastacks/spring-boot-best-practice 重写所有 schedule* 方法......后续会持续更新。...Spring 再官宣惊天大漏洞。。 工作 3 年的同事不知道如何回滚代码! 23 种设计模式实战(很全) Spring Boot 保护敏感配置的 4 种方法! 再见单身狗!...Spring Boot Admin 横空出世! Spring Boot 学习笔记,这个太全了! 关注Java技术栈看更多干货 获取 Spring Boot 实战笔记!

    1.6K30

    SpringBoot Developer Tools 与 热部署

    引入 spring-boot-devtools 模块不需要手动设置这些属性,spring-boot自动应用合理的开发时配置。... IDE 中工作时,这是一个非常有用的功能,因为它为代码更改提供了非常快速的反馈。 触发重启 由于 DevTools 监控类路径资源,触发重启的唯一方法是更新类路径。...导致类路径更新的方式取决于您使用的IDE。 Eclipse 中,保存修改的文件会导致更新类路径并触发重新启动。... IntelliJ IDEA 中,构建项目(Build -> Build Project)具有相同的效果,但实际开发中不可能每次改动都手动 Build,因此需要设置 Idea 的自动编译。...重新启动 vs 重新加载 Spring Boot 提供的重启技术通过使用两个类加载器来工作。不改变的类(例如来自第三方jar的类)被加载到baseclassloader 中。

    94710

    Spring Boot 2.0.0参考手册_中文版_Part III_19-22

    20.2 自动重启 当classpath中的文件修改时,使用spring-boot-devtools的应用会自动重启。当使用IDE开发时,这是一个很有用的功能,因为代码改变时它能快速的进行反馈。...引起classpath更新的方式取决于你使用的IDE。Eclipse中,保存一个修改的文件将引起classpath更新并触发重启事件。...当Gradle和Mavenclasspath中检测到DevTools时,它们默认的进行了那个工作。 当使用LiveReload,自动重启能很好的工作。更多细节请看下面。...当决定classpath中输入引起的改变是否应该触发重启时,DevTools会自动忽略命名为spring-bootspring-boot-devtools,spring-boot-autoconfigure...重启与重载(重新加载) Spring Boot提供的重启技术是通过两个类加载器进行工作的。加载进基类加载器的类不能改变(例如,那些第三方jar包)。那些你正在开发的类加载进重启类加载器中。

    65020

    Spring Boot系列 – 1. 简介

    3.可执行jarSpring Boot默认将应用打包成一个可执行的jar包文件,构建成功使用java -jar命令即可运行应用。 ...7.2 devtools的自动重启 要想在Eclipse中使用Devtools的重启功能,需要将自动编译功能打开。...每次保存文件并自动编译,devtools会检测到classpath内容的修改,并触发应用重启重启时实际只重新加载了一部分类,因此速度会非常快。详细原理会在后面教程里介绍。...,该插件会监测到livereload server的更新,并自动刷新页面。...4. spring-boot-cli Spring的命令行应用,编译和运行Groovy源码,只需极少的代码就可以运行应用,Spring CLI还可以监视文件,它们改变时自动重新编译和重启

    73720

    解决 CentOS mariadb 数据库服务因某些原因自动关闭,服务重启的配置方法

    解决 CentOS mariadb 数据库服务因某些原因自动关闭,服务重启的配置方法 一台运行数年的 centos 服务器,发生了一次 解决 mariadb 服务自动关闭的情况。...我当时不以为意,直接运行 systemctl start mariadb.service 命令,重启了服务。 但是又过去了几个月,这玩意儿又自动关闭了。...因此,决定配置上服务关闭自动重启。...修改配置,执行 systemctl daemon-reload 重新加载配置文件,然后再执行 systemctl restart mariadb.service 命令重启服务。...然后测试了一下手动杀进程,看看服务有没有自动重启,如下图所示: ? 可以看到,服务自动重启了,已经换了一个进程号了。 归根结底,还是服务器配置低呀。。。好吧,总算是解决问题了,记录一下。

    1.7K10

    Spring Boot的热部署

    Spring Boot的热部署 一、前言 二、模板引擎的热部署 三、使用Spring-boot-devtools进行热部署 四、IDEA准备工作 1、开启代码自动编译 2、允许程序运行的时候自动编译...因此,我们有必要学习Spring Boot开发的热部署,自动实现应用的重启和部署,大大提高开发调试效率。...二、模板引擎的热部署 Spring Boot应用中,使用模板引擎的页面默认是开启缓存的,如果修改了页面内容,则刷新页面是得不到修改的页面的效果的。...spring-boot-devtools是一个为开发者服务的模块,最重要的功能就是自动实现将修改的应用代码更新到最新的应用上。...其工作原理是使用两个ClassLoader:一个ClassLoader加载那些不会改变的类(如第三方JAR包);一个ClassLoader加载更新的类。成为Restart ClassLoader。

    50340

    SpringBoot 之基础学习篇.

    二、spring-boot-devtools 开发者工具     spring-boot-devtools 是 SpringBoot 中内置的一个开发者工具 ,用于自重启,功能当然没有 Jrebel 那么强大...spring-boot-devtools 默认检测 classpath 路径下的文件,只要目录下的文件有变动,它就会自动重启。     自动重启跟 LiveReload 可以一起很好的工作。     ...中需要 Build ——> Build Project),系统就会自动重启。...: # 内嵌的 LiveReload 服务器,可以资源改变时,触发浏览器更新,禁用设置为false enabled: true     3、spring-boot-devtools...和 LiveReload 搭配使用     LiveReload 是一个 spring-boot-devtools 模块中的内嵌服务器,它可以资源改变时触发浏览器更新,LiveReload 浏览器扩展的谷歌插件下载地址

    1.5K30

    微服务架构之Spring Boot(十六)

    20.2自动重启 只要类路径上的文件发生更改,使用 spring-boot-devtools 的应用程序就会自动重新启动。...触发重启 由于DevTools监视类路径资源,因此触发重新启动的唯一方法是更新类路径。导致更新类路径的方式取决于您使用的IDE。Eclipse中, 保存修改的文件会导致更新类路径并触发重新启动。...默认情况下,Gradle和Maven类路径上检测到DevTools时会这样做。 与LiveReload一起使用时,自动重启非常有效。有关详细信息,请参阅LiveReload部分。...确定类路径上的条目是否应在更改时触发重新启动时,DevTools会自动忽略名 为 spring-bootspring-boot-devtools , spring-boot-autoconfigure...重新启动vs Reload Spring Boot提供的重启技术使用两个类加载器。不更改的类(例如,来自第三方jar的类)将加载到基 类加载器中。您正在积极开发的类 将加载到重新启动的 类加载器中。

    48110

    Spring Boot 2.0.0参考手册_中英文对照_Part III_19-22

    当classpath中的文件修改时,使用spring-boot-devtools的应用会自动重启。当使用IDE开发时,这是一个很有用的功能,因为代码改变时它能快速的进行反馈。...Eclipse中,保存一个修改的文件将引起classpath更新并触发重启事件。IntelliJ IDEA中,构建工程(Build → Make Project)将会有同样的效果。...当使用LiveReload,自动重启能很好的工作。更多细节请看下面。如果你使用JRebel进行自动重启,将不支持动态的类重加载。...当决定classpath中输入引起的改变是否应该触发重启时,DevTools会自动忽略命名为spring-bootspring-boot-devtools,spring-boot-autoconfigure...远程客户端会像本地重启那样监控你应用的classpath的变化。任何资源的更新都会推送到远程应用并(如果需要的话)触发重启。如果你迭代一个本地没有的使用云服务的功能,它是非常有帮助的。

    42530

    Spring Boot 2.0 项目源码结构预览

    spring-boot-devtools 该模块 9418 行代码(含测试代码),spring-boot-devtools 模块来使 Spring Boot 应用支持热部署,提高开发者的开发效率,无需手动重启...spring-boot-properties-migrator 该模块有 495 行代码, Spring Boot 2.0 中,许多配置属性被重新命名/删除,开发人员需要更新application.properties...您的应用程序迁移期间,这个模块是必备的,完成迁移,请确保从项目的依赖关系中删除此模块。...Spring Boot Gradle 插件 Gradle 中提供了 Spring Boot 支持,可以打包成可执行 jar 或 war ,运行 Spring Boot 应用程序,并使用 spring-boot-dependencies...Spring-boot-maven-plugin Spring Boot Maven Plugin Maven 中提供了 Spring Boot 支持,让您可以打包成可执行 jar 或 war 应用

    59552

    Spring Boot 2.0 系列(四):开发者工具

    "); } } 自动重启 使用 spring-boot-devtools的应用程序类路径上的文件发生更改时自动重新启动。...由于DevTools监控类路径资源,触发重新启动的惟一方法是更新类路径。使类路径更新的方式取决于您使用的IDE。Eclipse中,保存修改的文件会更新类路径并触发重新启动。...默认情况下,Gradle和Maven类路径上检测DevTools时是这样做的。 自动重新启动使用 LiveReload时非常有效。如果您使用JRebel,自动重启被禁用,以支持动态类重载。...默认情况下,IDE中的任何打开的项目都装载“重启”类加载器,任何常规的.jar文件都装载“基”类加载器。...设置好 spring.devtools.remote.secret属性,服务器组件将自动启用。必须手动启动客户端组件。 运行远程客户端应用程序 远程客户端应用程序设计为IDE中运行。

    97630

    第9章 Spring Boot开发者工具第9章 Spring Boot开发者工具

    Spring Boot Maven Plugin提供的goals 如下: repackage: 创建自动可执行的jar包或war包。...") } devtools的功能在命令行运行jar包 java -jar XXX.jar 或者,当应用运行在指定的 classloader的时候, 自动失效(考虑到,或许是在生产环境)。...另外,使用Intellij的可能会遇到这个问题,即使项目使用了spring-boot-devtools,修改了类或者html、js等,idea还是不会自动重启,非要手动去make一下或者重启,就更没有使用热部署一样...OK了,重启一下项目,然后改一下类里面的内容,IDEA就会自动去make了。 笔者使用maven-scala-plugin + spring-boot-devtools过程中,有个问题这里提一下。...所以,spring-boot-devtools的监测动态更新ClassLoader的时候,无法监测到scala代码的更改,也就无法实现自动重启热部署了。

    1.3K20

    Spring Boot 中文参考指南

    如果找不到这个命令,尝试使用brew update更新重试 使用MacPorts安装 Mac上使用MacPorts 安装。...⚠️笔者注: 开启spring.mvc.log-request-details 的日志 关闭spring.mvc.log-request-details的日志: 4.8.3 自动重启...触发重启的方法: 由于DevTools 通过监听类路径上的资源来触发重启,所以不管使用哪个IDE都需要重新编译才能触发重启: Eclipse 中,保存修改后会更新类文件并触发重启 IDEA中,通过...⚠️笔者注: 笔者按照这样设置,发现自动重启并无失效 public static void main(String[] args) { SpringApplication application...远程更新 远程客户端以与[本地重新启动](#4.8.3 自动重启)相同的方式监视应用程序类路径以进行更改 。任何更新的资源都会被推送到远程应用程序,并且(如果需要)会触发重新启动。

    4.3K10

    整理了 15 道 Spring Boot 高频面试题,年后跳槽必备

    Spring Boot 实现热部署其实很容易,引入 devtools 依赖即可,这样当编译文件发生变化时,Spring Boot 就会自动重启。... Eclipse 中,用户按下保存按键,就会自动编译进而重启 Spring Boot,IDEA 中由于是自动保存的,自动保存时并未编译,所以需要开发者按下 Ctrl+F9 进行编译,编译完成,项目就自动重启了... Spring Boot 中,这个问题常见的解决方案是 Swagger ,使用 Swagger 我们可以快速生成一个接口文档网站,接口一旦发生变化,文档就会自动更新,所有开发工程师访问这一个在线网站就可以获取到最新的接口文档...普通的 jar 包,解压直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。...如果非要引用,可以 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用。

    48410

    spring Boot 配置文件详解

    Spring Boot自动配置,是通过配置类上添加@EnableAutoConfiguration 或者 @SpringBootApplication 注解实现的。...主要包括以下内容: 开发环境属性默认值 自动重启(热部署) 资源重新加载 全局设置 远程应用        可以通过以下方式引入spring-boot-devtools:  Maven....", "0"); 自动重启(热部署)        使用了spring-boot-devtools,将会对类路径下的所有文件进行监控,当类路径下面的文件发生更改的时候,应用就会自动重启。...例如,我们要设置/static和/public下的所有文件更新都不触发应用重启spring.devtools.restart.exclude=static/**,public/**        如果某个文件不再类路径下...=/restart/**        如果你不需要使用 spring-boot-devtools 提供的自动重启功能,可以通过以下方式禁用重启功能: 代码清单14 - 禁用spring-boot-devtools

    1.5K50
    领券