使用idea进行热部署
对于普通的java web项目,使用idea配置tomcat热部署比较简单,网上有很多教程,这里就不在赘述。
对于spring-boot项目,使用idea配置热部署一般有两种方法。1)spring-boot-devtools 2)springloaded
一、使用spring-boot-devtools配置spring boot的热加载
1)在pom.xml中加入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2)加上启用热加载的配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 启动修改之后实时生效 -->
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
<defaultGoal>compile</defaultGoal>
</build>
注:这种方式只是热加载,修改代码后服务器自动启动,不是真正的热部署。
二、使用springloaded来配置项目的热部署
1)在pom.xml添加依赖
<build>
<plugins>
<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>
</plugin>
</plugins>
</build>
2)这种配置不能直接运行 main 方法了,需要使用mvn spring-boot:run 启动。idea配置maven命令启动spring boot项目,如下图。
3)这种启动方式,控制台输出会出现中文乱码,可在pom.xml添加如下配置。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration><!-- spring-boot:run 中文乱码解决 -->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
</configuration>
</plugin>
</plugins>
</build>