当前位置: 首页 > news >正文

spring boot 调试 - 热部署

  • maven

  • gradle

 

Maven:

命令行方式:

mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

 

需要在idea 中edit configuration->+ -> remote->debug

 from

rum main方法:

debug run

 

热部署

 在pom里添加:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
                <dependencies>
                    <!-- spring热部署-->
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

然后修改类后,在idea中重新编译该类:build->recompile XXXX

或者使用快捷键ctrl+shif+F9

 

 

Gradle:

近来发现使用gradle的比较多。

热部署:

buildscript {
    repositories { jcenter() }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:1.4.1.BUILD-SNAPSHOT"
        classpath 'org.springframework:springloaded:1.2.0.RELEASE'
    }
}

apply plugin: 'idea'

idea {
    module {
        inheritOutputDirs = false
        outputDir = file("$buildDir/classes/main/")
    }
}

 

debug启动:

方法1:

采用gradle自带属性debug模式.结果好像不能用啊。直接看方法3吧。

在project根目录下创建gradle.properties.

添加:

org.gradle.debug=true

然后命令行:

gradlew bootRun --debug

看到显示:

接着在idea中 edit configuration->+ -> remote->debug

 

方法2:

在build.gradle中添加:

bootRun {
    jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
}

然后:

gradlew bootRun --debug

 

方法3:

直接:

gradle bootRun --debug-jvm

 

 

参考:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-remote-debug-gradle-run





唯有不断学习方能改变! -- Ryan Miao

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 阿里云服务器Linux CentOS安装配置(零)目录
  • 数据结构 树 相关面试试题
  • zabbix Maintenance维护周期
  • [CentOs7]图形界面
  • Kafka问题排查(消费者自动关闭)
  • 手把手之STM32GPIO
  • iOS 读取plist 方法
  • json恶补
  • mybatis实战教程(mybatis in action)之三:实现数据的增删改查
  • 在代码中修改TextView的DrawableRight图片
  • MongoDB-基础-limit-skip-sort
  • Python 安装模块 模块搜索路径
  • Android第三十天
  • nbsp
  • [改善Java代码]非稳定排序推荐使用List
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • #Java异常处理
  • Android系统模拟器绘制实现概述
  • Android优雅地处理按钮重复点击
  • es6要点
  • flutter的key在widget list的作用以及必要性
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HTTP中的ETag在移动客户端的应用
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript 一些 DOM 的知识点
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Python十分钟制作属于你自己的个性logo
  • Shell编程
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Terraform入门 - 1. 安装Terraform
  • Theano - 导数
  • vagrant 添加本地 box 安装 laravel homestead
  • 初识 webpack
  • 关于字符编码你应该知道的事情
  • 官方解决所有 npm 全局安装权限问题
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 手写双向链表LinkedList的几个常用功能
  • 通过几道题目学习二叉搜索树
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # 数论-逆元
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ###项目技术发展史
  • #QT项目实战(天气预报)
  • #数据结构 笔记三
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (pytorch进阶之路)扩散概率模型
  • (Qt) 默认QtWidget应用包含什么?
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)