自动编译
修改文件后,焦点离开 IDEA 后,任务栏会有进度提示。
- 
启用 Module 的 JRebel 自动编译(Spring MVC 需要此步):打开 IDEA 左侧 Sidebar 中的 JRebel Panel(View -> Tool Windows -> JRebel),然后勾选需要的 Module。 
  
 Jrebel 插件会自动在 resources 目录底下生成一个 rebel.xml。
- 
允许 IDEA 自动编译:在 Maintenance(Ctrl + Shift + Alt + /) -> Registry 中勾选 compiler.automake.allow.when.app.running(IDEA 新版没有此项,请手动修改后一句的设置),此时 IDEA 会自动选中 Settings -> Build, Execution, Deployment -> Compiler 中的 Build project automatically。 
如果更改了 Project Structure 导致不能用 JRebel 启动或者启动后不能自动编译,在 Project Structure 不报错的情况下,删除 rebel.xml,重新勾选即可,如果还是没用,在 Project Structure 不报错的情况下,删除 .idea、.iml、rebel.xml 重新导入项目勾选即可。
方式一 Application 类
在 Run/Debug Configurations 中修改配置。

IDEA 新版要修改选项(Modifiy options),然后选择**执行“更新”操作时(On 'Update' action)和切换出 IDE 时(On frame deactivation)**即可。

Application 类右键选择 Run/Debug with JRebel 'Application',或者工具栏运行等。
方式二 bootRun
Maven、Gradle 加载了 org.springframework.boot 插件后,在 Maven、Gradle window 中,找到 spring-boot:run(Module name -> Plugins -> spring-boot) 或者 bootRun(Module name -> Tasks -> application),右键选择 Run/Debug with JRebel 'Module name' [spring-boot:run/bootRun]。
- 
Maven <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 
- 
Gradle - groovy buildscript { ext { springBootVersion = "2.0.4.RELEASE" } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" } } apply plugin: "org.springframework.boot"
- 
Gradle - kts plugins { id("org.springframework.boot") version "2.1.1.RELEASE" } 
方式三 本地 Tomcat
使用本地 Tomcat 也可以自动编译,就像非 Spring Boot 项目一样,但是此方式启动慢一丢丢。
- 
新增启动类 import org.springframework.boot.SpringApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class SpringBootInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); } }
- 
添加 war 插件: 直接添加 Artifacts 的话,可能会有些文件没有打包进去导致报错。 
- 
Maven <packaging>war</packaging> <dependency> …… <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 移除内置 Tomcat --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> …… </dependency>
- 
Gradle - groovy apply plugin: 'war'
- 
Gradle - kts plugins { war } apply(plugin = "war")添加插件后会在 Project Structure -> Project Settings -> Artifacts 自动生成 Web Application: Archive。 
  
- 配置本地 Tomcat,工具栏使用 JRebel 启动即可:
  
  
MyBatis Mapper XML 热部署
市场搜索并安装这个插件即可:

 
           
             
           
                        
评论区