- 为什么需要springboot热部署?
在编写代码的时候,如果我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了。那么如何解决这个问题呢?那就是springloaded。
第一种方式:
- 使用spring-boot:run
在pom.xml文件添加依赖包:
然后将项目run sa –> maven build –> spring-boot:run
<build>
<plugins>
<!-- springboot 热部署 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
<dependencies>
<!--springloaded hot deploy -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.4.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
使用这种方式呢,我就遇到了错误。
大概的意思就是端口被占用。
java.net.BindException: Address already in use: bind
解决办法:
关闭任务管理器中还在运行的javaw.exe。
第二种方式:
- 使用 run as – java application
把spring-loader-1.2.4.RELEASE.jar下载下来,放到项目的lib目录中,然后把myeclipse的run as参数里VM参数设置为:
-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify
然后启动就可以了,这样在run as的时候,也能进行热部署。
如果还是热部署无效的话,尝试换高版本的springload。
第三种方法:
- spring-boot-devtools
pom.xml直接添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>