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 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解Spring MVC中,applicatio

这样配置,SpringMVC会自动按照约定去找<servlet-name>swork</servlet-name>的swork-servlet.xml配置文件作...

793
来自专栏Java技术栈

Spring import配置文件使用占位符

import使用占位符 连接池切换导入配置的代码: <import resource="classpath:META-INF/spring/spring-${d...

35613
来自专栏程序员的SOD蜜

使用Topshelf创建自宿主的Windows服务程序

在传统的Windows服务开发过程中,需要添加一个服务安装程序,里面写安装,启动和停止服务等逻辑。现在,使用TopSelf可以简化这个过程。具体请看官网说明: ...

2105
来自专栏我的小碗汤

SpringMVC实现发送邮件

跑单元测试的时候报:Could not resolve placeholder异常,不可以解析email.protocol

561
来自专栏吴伟祥

使用Idea迅速构建一个Spring Boot应用与部署

1、选择File->New->Project,在对话框中选中Spring Initializr,给项目配置合适的SDK,点击Next.

1144
来自专栏程序之美

第十三节 资源服务和认证服务通信,校验token

1) 设置RestTemplate,默认RestTemplate有些格式无法解析,配置相关解析器

482
来自专栏Java成神之路

JavaUtil_02_二维码的生成与解析

 zxing-core-1.7.jar  :   http://viralpatel.net/blogs/download/jar/zxing-core-1.7...

662
来自专栏别先生

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1、java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息。

1022
来自专栏服务端思维

Spring Boot 揭秘与实战 工作原理剖析

我们了解到 Spring Boot 提供了很多开箱即用的依赖模块,开发者只要在 Maven 的 pom 文件中添加相关依赖后,Spring Boot 就会针对这...

755
来自专栏用户2442861的专栏

Sping 的 BeanFactory 容器

http://wiki.jikexueyuan.com/project/spring/ioc-container/spring-bean-fatory-con...

652

扫码关注云+社区