SpringBoot 热部署方式
来源:互联网 发布:linux的ftp权限设置 编辑:程序博客网 时间:2024/05/17 08:52
原则上只要我们修改了代码 那么我们就必须重新启动才可以 这样做的效率会大大降低 如果在我们修改代码后自动生效呢
这里就需要我们进行热部署
1 首先在 pom.xml中 引入我们的插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.4.RELEASE</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions> </plugin> </plugins> </build>2 我们下载下来 springloaded-1.2.4.RELEASE.jar 放在本地的文件夹 我是在项目中创建一个lib目录放了进去
3 在项目中 右键 run As --->run Configurations...
4 找到 Arguments 选项卡 在Vm arguments 中 写入
-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify
5 这个时候我们发现 修改了代码后 不需要重启 只要刷新浏览器即可
那么现在问题又来了 修改原方法代码后虽然可以 但是当我们创建了一个新的方法 却无法访问到 这个时候我们也要解决这个问题
接下来我们需要用spring-boot-devtools 里面有个重要的功能的是自动应用代码更改到App
发现代码有改动之后重新启动,原理是使用两个Classloader ,一个加载了不会改变的类 也就是导入的jar包
另一个加载会发生改变的类 而这个ClassLoader发现代码有变化则会释放掉原来的ClassLoader而创建一个新的重新来加载
由于不用加载导入的jar包 只需要加载我们自己写的那些 所以启动速度更快了
1 添加 依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope></dependency>
2 之前的插件也需要修改一下
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>
现在我们发现 添加了方法 而无需手动重启 也是可以访问的
阅读全文
0 0
- SpringBoot 热部署方式
- Springboot 热部署的两种方式
- Springboot 热部署的两种方式
- springboot-热部署
- SpringBoot热部署
- springboot实现热部署
- springboot热部署
- SpringBoot热部署配置
- SpringBoot+devtools 热部署
- Springboot(热部署)
- SpringBoot热部署
- SpringBoot+SpringLoaded热部署
- SpringBoot实现热部署
- springboot热部署配置
- SpringBoot-热部署-maven
- springboot热部署
- SpringBoot + devtools热部署
- SpringBoot-02热部署
- C main 函数的返回值
- Error:Failed to open zip file. Gradle's dependency cache may be corrupt
- VSCrawler爬虫项目介绍
- AD1256之STM32程序——STM32测试高精度ADC篇(四)
- MySQL数据库设置事务隔离级别
- SpringBoot 热部署方式
- 【Sicily】1003. 相连的1
- java语言基础(79)——File类的基础使用java文件操作
- react学习-受控组件(controlled components)
- Linux学习之文件搜索命令(一)find 命令
- 阶段反思
- mac下配置Git服务器
- 乐固libshella 2.10.1分析笔记
- Linux开发--IO多路复用之epoll总结