springboot的热部署和dubug
采用了项目聚合,产生一些不同,遇到的问题和解决方法分享下。
项目结构:
rebuilder2
-htran 主项目
-htran-api
1、htran.pom
<parent>
<groupId>com.cq</groupId>
<artifactId>common-parent</artifactId>
<version>1.0.0-RELEASE</version>
<relativePath></relativePath>
</parent>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</dependencies>
</plugin>
2、IDEA配置
RUN -> Edit configuraions -> '+' -> Remote ->右侧修改名称为debug
3、maven命令
clean spring-boot:run -pl htran
由于采用了项目聚合,htran引入了htran-api同时还继承了ParentPom,所以直接在rebuild2 路径下 mvn clean spring-boot:run 会同时启动htran-api;而htran-api只是用来存放一些接口和实体类的,并没有application.java也不能运行,mvn在构建时就会产生 Unable to find a suitable main class异常,而直接在htran路径下执行mvn clean spring-boot:run又会报找不到htran-api的错误,所以在rebuild2 路径下添加 -pl htran。
4、先执行maven命令,再run刚刚配置的debug,就可以热部署+debug了
5、修改代码后要执行重新编译,快捷键是ctrl + shift + F9
6、如果只是想热部署而不是debug,那就去掉pom中的
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
直接 clean spring-boot:run -pl htran,不需要配置debug
一些异常:
找不到<parent>项目的pom文件。这是因为一般我们在使用idea时,会在setting中指定idea使用本地的maven库路径,而忽略了maven配置文件setting.xml中对本地库路径的设置,这样通过idea使用maven时会使用配置的路径,但直接使用mvn命令,则会由maven直接使用setting.xml的配置路径。这样手动添加到idea本地库的包maven就会找不到。
包冲突:javax.persistance。 由于hibernate已经自带了javax.persistance,如果在其他地方引入了低版本的javax.persistance依赖,mvn在构建项目时如果先加载了低版本的包,就不会再加载高版本包,这就会出现各种错误。常见是各种 java.lang.NoSuchMethodError。排除低版本的依赖即可。但是直接用idea构建项目就不会有这个问题(也许idea能智能加载高版本包?
java.lang.IllegalAccessException: Class org.springsource.loaded.ReloadableType can not access a member of class org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy with modifiers "public" 这个是springloaded版本问题,似乎和jvm版本也有关系,官方说是升级到1.2.6就解决了,但是我在用的时候还是会出现,但是不影响运行,不用管他。奇怪的写这个笔记的时候,想找到这个异常信息,又运行了一下,却又不抛异常了。编程真是神奇啊。。。
springboot的热部署和dubug的更多相关文章
- Springboot静态文件不更新的解决办法,以及Springboot实现热部署
Springboot静态文件不更新的解决办法,以及Springboot实现热部署 原文链接:https://www.cnblogs.com/blog5277/p/9271882.html 原文作者:博 ...
- idea+spring-boot+devtools热部署
idea+spring-boot+devtools热部署 标签: spring-boot 2017-03-20 14:45 2635人阅读 评论(1) 收藏 举报 分类: spring-boot m ...
- SpringBoot工程+热部署进行远程调试
本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...
- springBoot开启热部署
springBoot开启热部署 这里使用devtools工具开启热部署 〇.搭建springbboot基础环境 一.添加依赖 <dependency> <groupId>org ...
- spring-boot项目热部署以及spring-devtools导致同类不能转换
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- SpringBoot工程热部署
SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springfr ...
- 从零开始学习springboot之热部署的配置
各位看官大家好,博主之前因为毕业设计以及毕业旅游耽搁了好长一段时间没有更新博客了,从今天起又会慢慢开始学习啦. 今天主要是来学习springboot热部署的配置. 一. 热部署 我们通常在修改某些文件 ...
- SpringBoot SpringCloud 热部署 热加载 热调试
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] Crazy-Sp ...
- springboot 配置热部署 及 热部署后依旧是404的坑
springboot配置热部署的教程网上一大堆: 个人喜欢这种方式: https://www.cnblogs.com/winner-0715/p/6666579.html 本文主要强调的是,大家如果配 ...
随机推荐
- Android系统启动流程(四)Launcher启动过程与系统启动流程
此前的文章我们学习了init进程.Zygote进程和SyetemServer进程的启动过程,这一篇文章我们就来学习Android系统启动流程的最后一步:Launcher的启动流程,并结合本系列的前三篇 ...
- Linux find查找指定文件 按照名称 然后cp拷贝到指定目录且指定文件名
最近有一个需求,需要将指定目录下的文件(已知文件名)复制到另一个指定的目录且重命名文件. 要求: 在var目录下会定义系统的启动日志相关信息,请查找对应的boot.log文件,并把它备份一份到var/ ...
- LeetCode题解之Unique Paths II
1.题目描述 2.问题描述 使用动态规划算法,加上条件检测即可 3.代码 int uniquePathsWithObstacles(vector<vector<int>>&am ...
- LeetCode 题解之Rotate List
1.题目描述 2.题目分析 首先数出链表中的元素个数count,然后对k = k % count 求余数.接着将链表形成一个环,从最后一个元素开始,运动 count - k 步,此时节点的下一个节点 ...
- 对C#Chart控件使用整理
转:https://blog.csdn.net/andrewniu/article/details/78770186 https://blog.csdn.net/andrewniu/article/d ...
- Vue.js Is Good, but Is It Better Than Angular or React?
Vue.js is a JavaScript library for building web interfaces. Combining with some other tools It also ...
- October 24th, 2017 Week 43rd Tuesday
We can't give up trying. The fight was worth it. 我们不能放弃尝试,奋斗是值得的. When doing researches in some cutt ...
- jQuery 效果函数,jquery文档操作,jQuery属性操作方法,jQuerycss操作函数,jQuery参考手册-事件,jQuery选择器
jQuery 效果函数 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选元素的所有排队函数( ...
- 5.Dubbo2.5.3泛化引用和泛化实现
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.泛化引用 泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值中的所有POJO均用Ma ...
- 7.Solr查询参数
一.基本查询 q 查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fl (field list)指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id, ...