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 本文主要强调的是,大家如果配 ...
随机推荐
- FragmentStatePagerAdapter和FragmentPagerAdapter区别
FragmentPageAdapter和FragmentStatePagerAdapter 我们简要的来分析下这两个Adapter的区别: FragmentPageAdapter:和PagerAdap ...
- [Ubuntu] 解决 ubuntu 升级时 /boot 空间不足
经常升级Linux内核,导致更新时警告/boot分区空间不足.这是以为多次升级内核后,导致内核版本太多,清理一下没用的内核文件就行了. 原文地址请保留http://www.cnblogs.com/ro ...
- centos安装pip3
安装pip3 1:安装依赖 yum install openssl-devel -y yum install zlib-devel -y 2:安装setuptools wget --no-check- ...
- 在Docker Swarm上部署Apache Storm:第1部分
[编者按]本文来自 Baqend Tech Blog,描述了如何在 Docker Swarm,而不是在虚拟机上部署和调配Apache Storm集群.文章系国内 ITOM 管理平台 OneAPM 编译 ...
- leveldb源码分析--Comparator
既然leveldb是一个按Key序组织的LSM-Tree实现,那么对于Key的比较就是非常之重要了,这个Key的比较在leveldb中是Comparator的形式出现的.我们首先来看看Comparat ...
- python自学——文件打开
#文件的打开 新建一个文件new file.txt #方法一:f=open("yesterday","r",encoding="utf-8" ...
- 转:SqlServer索引及优化详解
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonc ...
- Huawei DHCP 全局配置与接口配置
网络拓扑图如下所示: 说明: 1.交换机Ge0/0/1口和Ge0/0/2口配置基于全局的DHCP: 2.交换机Ge0/0/3口配置基于端口的DHCP: 3.交换机上配置vlan 10 .vlan 20 ...
- AndroidManifest 配置主活动
在activity标签中写如下代码: <activity android:name=".MainActivity" android:label="This is M ...
- css常见效果
1.ul li横排 /* ul li以横排显示 */ /* 所有class为menu的div中的ul样式 */ div.menu ul { list-style:none; /* 去掉ul前面的符号 ...