采用了项目聚合,产生一些不同,遇到的问题和解决方法分享下。

项目结构:

  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的更多相关文章

  1. Springboot静态文件不更新的解决办法,以及Springboot实现热部署

    Springboot静态文件不更新的解决办法,以及Springboot实现热部署 原文链接:https://www.cnblogs.com/blog5277/p/9271882.html 原文作者:博 ...

  2. idea+spring-boot+devtools热部署

    idea+spring-boot+devtools热部署 标签: spring-boot 2017-03-20 14:45 2635人阅读 评论(1) 收藏 举报  分类: spring-boot m ...

  3. SpringBoot工程+热部署进行远程调试

    本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...

  4. springBoot开启热部署

    springBoot开启热部署 这里使用devtools工具开启热部署 〇.搭建springbboot基础环境 一.添加依赖 <dependency> <groupId>org ...

  5. spring-boot项目热部署以及spring-devtools导致同类不能转换

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  6. SpringBoot工程热部署

    SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springfr ...

  7. 从零开始学习springboot之热部署的配置

    各位看官大家好,博主之前因为毕业设计以及毕业旅游耽搁了好长一段时间没有更新博客了,从今天起又会慢慢开始学习啦. 今天主要是来学习springboot热部署的配置. 一. 热部署 我们通常在修改某些文件 ...

  8. SpringBoot SpringCloud 热部署 热加载 热调试

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] Crazy-Sp ...

  9. springboot 配置热部署 及 热部署后依旧是404的坑

    springboot配置热部署的教程网上一大堆: 个人喜欢这种方式: https://www.cnblogs.com/winner-0715/p/6666579.html 本文主要强调的是,大家如果配 ...

随机推荐

  1. HCTF2018 pwn题复现

    相关文件位置 https://gitee.com/hac425/blog_data/tree/master/hctf2018 the_end 程序功能为,首先 打印出 libc 的地址, 然后可以允许 ...

  2. Vue -- vue-cli webpack打包开启Gzip 报错

    前两天项目上线,用vue-cli npm run build命令打包,打包完成后我擦吓了一跳,15M.本来暂时不打算优化的,但是每次看着部署包这么大,想想还是先优化一下,让包好看点,免得以后出现心理阴 ...

  3. [WPF 容易忽视的细节] —— x:Name与Name属性

    一.前言 WPF使用XAML来对界面进行编写,界面与后台逻辑分离.我们也可以写Style.Trigger来实现一些界面效果, 这些都是通过Name来定位控件的,例如Setter.TargetName. ...

  4. Python+Selenium笔记(二):配置谷歌+IE环境

    #有的时候可能要访问外国的网站下载资料或工具,这时可能出现各种问题,例如谷歌人机验证显示不了.网站打不开等,建议使用一个FQ软件 (一)  设置IE (1)   http://docs.seleniu ...

  5. CSS 小结笔记之解决flex布局边框对不齐

    在使用flex 进行伸缩布局的时候,经常会给子盒子设置边框,这时经常会出现上下边框对不齐的情况.本篇文章来探讨并解决这个问题. 具体出现的问题如下图所示 具体代码如下 <!DOCTYPE htm ...

  6. CSS 实例之翻转图片

    具体效果图如下: 主要用到的技术除了3D翻转和定位 ,还用到了一个新的属性 backface-visibility:visable|hidden; 该属性主要是用来设定元素背面是否可见. 具体的步骤如 ...

  7. LeetCode题解之Merge k Sorted Lists 解法二

    1.题目描述 2.分析 利用 vector 存储指针,同时合并k个链表. 3.代码 ListNode* mergeKLists(vector<ListNode*>& lists) ...

  8. selenium 校验文件下载成功

    转自: http://www.seleniumeasy.com/selenium-tutorials/verify-file-after-downloading-using-webdriver-jav ...

  9. Oracle EBS INV 释放保留

    CREATE or REPPLACE PROCEDURE RelieveReservation AS -- Common Declarations l_api_version NUMBER := 1. ...

  10. 灰度发布:灰度很简单,发布很复杂&灰度发布(灰度法则)的6点认识

    什么是灰度发布,其要点有哪些? 最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题“灰度发布”. 因为笔者所负责的产品还没有达到他们产 ...