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

posted @   Ryan.Miao  阅读(22146)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2015-06-28 $("#id").val()取值textarea是""
2015-06-28 文本框只读属性,disabled不能提交
2015-06-28 form上传文件以及跨域异步上传
2015-06-28 在jfinal中使用druid,并配置查看权限
2015-06-28 java中遇到过的String的一些特性
2015-06-28 javascript中遇到的字符串对象处理
点击右上角即可分享
微信分享提示