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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库

dbGaP加密数据权限申请和数据解密

我们在NCBI、TCGA、GEO等数据库下载数据时,经常遇到controlled access(限制下载)的数据,不知道怎么弄,有时选择其他可以下载的数据代替...

2957
来自专栏py+selenium

weblogic安装时检查监视器: 必须配置为至少显示 256 种颜色,实际空间未知→失败

1085
来自专栏沈唁志

WordPress更改固定链接404的解决办法

1793
来自专栏Django Scrapy

mac python3 安装 mysqlclient包失败如何解救

安装命令 pip3 install mysqlclient 报错信息1 Collecting mysqlclient Retrying (Retry(t...

31412
来自专栏编程思想之路

Android源码开发之添加/删除系统应用

本文参考老罗的系统源代码情景分析中的1.5章节 http://0xcc0xcd.com/p/books/978-7-121-18108-5/c15.php 想要...

21510
来自专栏运维小白

12.7 默认虚拟主机

默认虚拟主机目录概要 vim /usr/local/nginx/conf/nginx.conf //增加include vhost/*.conf mkdir /...

3345
来自专栏柠檬先生

vue-cli#2.0 webpack 配置分析

目录结构: ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-c...

2755
来自专栏Laoqi's Linux运维专列

LAMP环境搭建小结

1. 为什么下载源码包需要到官网上去下载? 简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。 ...

3026
来自专栏Bug生活2048

Python优雅的操作Exchange邮箱——exchangelib模块使用介绍

需求很简单,只需要登录自己的Exchange邮箱,然后遍历所有邮件,有附件的就下载下来。

682
来自专栏运维小白

11.14/11.15 Apache和PHP结合

配置httpd支持php目录概要 httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/a...

20610

扫描关注云+社区