spring boot在idea中热部署

作者: laien | 来源:发表于2017-06-15 14:05 被阅读132次

工欲善其事,必先利其器 ----《论语·卫灵公》


第一步 配置idea

1.ctrl+alt+s--->compiler---->make project automatically

image.png

2.ctrl+shift+alt+/ 选择Registry,勾上 Compiler autoMake allow when app running

image.png image.png
第二步 添加springloaded依赖

加入到spring-boot-maven-plugin这个plugin中

 <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                            <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <fork>true</fork>
                    <mainClass>cn.watchbank.cooperation.WatchbankCooperationServer</mainClass>
                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
第三步 启动

需要用mvn spring-boot:run启动工程

image.png image.png
第三步 验证

直接修改java代码,直接生效,对开发者毫无感知,怎一爽知了得。

补充说明

问题一 控制台中文乱码

用mvn spring-boot:run 启动后可能会导致console中日志出现乱码,解决办法是增加启动参数
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>

image.png
问题二 用mvn spring-boot:run命令起动后没能进入debug模式

这个问题花了不少时间解决

  1. 添加jvm启动参数
    -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
image.png

这时启动会提示:Listening for transport dt_socket at address: 5005
遇到这个情况先不要停掉,做完如下操作即可继续运行。

image.png

需要按以下方法处理

image.png image.png image.png

最后点debug,即可继续运行下去

image.png

相关文章

网友评论

    本文标题:spring boot在idea中热部署

    本文链接:https://www.haomeiwen.com/subject/axpeottx.html