×

springboot项目热部署

springboot项目热部署(SpringBoot+Docker项目打包(jar)和部署)

admin admin 发表于2024-02-17 00:53:10 浏览27 评论0

抢沙发发表评论

各位老铁们,大家好,今天由我来为大家分享springboot项目热部署,以及SpringBoot+Docker项目打包(jar)和部署的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

SpringBoot+Docker项目打包(jar)和部署

一、打包SpringBoot项目 1.检查pom文件是否有maven打包插件 2.选择IDEA右侧Maven,点击install(如果配置了maven的环境变量,则可以在控制台输入:mvn install 命令,同样可以打包jar包) 等待maven打包,当控制台出现下列日志时表示打包成功 如下图所示,打包完会出现一个.jar文件,即打包好的jar包。 3.在控制台输入:java -jar /Users/heyou/Desktop/springboot-0.0.1-SNAPSHOT.jar 来检查jar包是否可以正常运行。 二、Docker部署jar包 前提条件: 1.构建Dockerfile 在已经打包好的jar包的同级目录下新建Dockerfile Mac 可在IDEA控制台输入vim Dockerfile 进入vim,输入: 其中: FROM 命令指定运行环境和版本 VOLUME:一个特别指定的目录,用于存储数据,该命令的作用是在/var/lib/docker创建一个名为tmp的目录,在开启redis服务时,需要特别指定redis的数据存储在哪个文件夹,此时这个命令就十分有用 ADD:拷贝文件并且重命名(需要输入两个参数:即jar包名称和重命名后的名称) ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT 2.创建docker文件夹,将jar包与Dockerfile移动到该文件夹,进入该文件夹,运行命令: 此时会将该项目构建成一个image(镜像),运行命令: 3.运行镜像: 注:“:”左边的端口号是暴露给外部访问的端口,而右边端口是docker内部镜像运行的端口 4.打开浏览器访问部署的项目地址,检查项目是否运行正常

springboot环境 相同类型强转回自己 ClassCastException

写spring boot 应用时发现一个奇怪的问题。 错误信息大致这样: java.lang.ClassCastException: com.tysx.monitor.User cannot be cast to com.tysx.monitor.User 类型转换,自己转自己不能转,郁闷了半天。后来 原因是 在 pom.xml 配置了热部署机制。

《dependency》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-devtools《/artifactId》 《optional》true《/optional》 《/dependency》

导致jvm发现虽然,虽然类型一致,但是加载它的classloader不是同一个,所以不能转换。 解决办法: 注释掉这个依赖就行了。

根本原因是spring boot为了实现热部署插件,重新实现了classloader .

spring-boot-devtools会检测类路径的变化,当类路径内容发生变化后会自动重启应用程序。Spring Boot的重启技术通过使用两个类加载器。由于使用的是双类加载机制重启会非常快,如果启动较慢也可使用JRebel重加载技术。 (1)base classloader (Base类加载器):加载不改变的Class,如第三方提供的jar包。 (2)restart classloader(Restart类加载器):加载正在开发的Class。 到这里相信大家知道了,为什么重启很快,因为重启的时候只是加载了在开发的Class,没有重新加载第三方的jar包。

为了使用springboot热部署功能,在使用创建向导时应选

为了使用springboot热部署功能,在使用创建向导时应选maven启动项目。最常用的热部署方式,其实不算热部署,当你更改代码保存了,它就会重新启动springboot项目,不需要手动修改pom文件,添加devtools的依赖。

springboot页面怎样热部署

1. 模板热部署SpringBoot的模板引擎里默认是开启缓存的, 若修改了页面的内容,刷新页面是看不到修改后的页面的,因此可以在application.properties里修改这个默认配置。注:此处是修改模板thymeleaf的默认配置, 其他模板类似修改 2. SpringLoadedSpringLoaded可以实现类文件的热部署,即当我们修改java文件的内容时, 无需重新部署工程,刷新 页面即可显示,这个功能让我很兴奋!实现步骤:A. 下载SpringLoaded.jar 我这里是springloaded-1.2.6.RELEASE.jarSpringLoaded.jar包可以从网上下载,或者在pom.xml文件中添加依赖,然后编译程序,jar包自动下载到了本地。 将下载好的jar包放到工程目录下,也可以放到磁盘任何地方。

如果你还想了解更多这方面的信息,记得收藏关注本站。