Skip to main content
 首页 » 编程设计

intellij-idea之IntelliJ 15,SpringBoot devtools livereload 不起作用

2024年05月10日23zhengyun_ustc

Spring Boot devtools 1.3 的新 LiveReload 功能存在问题。它不会在类更改时重新加载。我已经在 IntelliJ @ Devoxx 2015 上看到过它的演示。是否需要启用一些 IDE 设置?我通过 IDE 运行,而不是通过 Gradle。我尝试启用“自动创建项目”,但这似乎没有帮助。

它似乎加载正确并且正在寻找正确的路径

2015-11-23 05:55:30.592 DEBUG 4700 --- [  restartedMain] o.s.boot.devtools.restart.Restarter      : Starting application com.myapp.Application with URLs [file:/E:/Projects/myapp/build/classes/main/, file:/E:/Projects/myapp/build/resources/main/] 

我的文件

构建.gradle

buildscript { 
    ext { 
        springBootVersion = '1.3.0.RELEASE' 
    } 
    repositories { 
        mavenCentral() 
    } 
    dependencies { 
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")  
    } 
} 
 
apply plugin: 'java' 
apply plugin: 'eclipse-wtp' 
apply plugin: 'idea' 
apply plugin: 'spring-boot'  
apply plugin: 'war' 
 
 
war { 
    baseName = 'myapp' 
    version = '0.0.1-SNAPSHOT' 
} 
sourceCompatibility = 1.8 
targetCompatibility = 1.8 
 
repositories { 
    mavenCentral() 
    maven { url "https://repo.spring.io/snapshot" } 
    maven { url "https://repo.spring.io/milestone" } 
} 
 
configurations { 
    providedRuntime 
} 
 
dependencies { 
    compile('org.springframework.boot:spring-boot-starter-actuator') 
    compile('org.springframework.boot:spring-boot-devtools') 
    compile('org.springframework.boot:spring-boot-starter-jdbc') 
    compile('org.projectlombok:lombok') 
    compile('org.springframework.boot:spring-boot-starter-web') 
    compile('net.sourceforge.jtds:jtds:1.3.1'); 
    testCompile('org.springframework.boot:spring-boot-starter-test')  
} 
 
dependencyManagement { 
    imports {  
        mavenBom "org.springframework.cloud:spring-cloud-starter-parent:Brixton.M3"  
    } 
} 
 
 
eclipse { 
    classpath { 
         containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER') 
         containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8' 
    } 
} 
 
task wrapper(type: Wrapper) { 
    gradleVersion = '2.7' 
} 

HelloWorld Controller

@Controller 
public class HelloWorldController { 
 
    @RequestMapping("/") 
    @ResponseBody 
    String home(){ 
 
        return "Hello World test"; 
    } 
} 

请您参考如下方法:

如果您使用 IntelliJ IDEA,添加 spring-boot-devtools 是不够的。这是因为与 Eclipse 不同,您需要显式告诉 IntelliJ IDEA“Make The Project”,以便它构建到目标类路径。

see on youtube

最简单的解决方案:运行应用 Debug模式并按 Ctrl + f9(构建快捷键)

  1. 您需要启用“自动创建项目”选项。你可以 在“设置”-“构建、执行、部署”-“编译器”中找到它
  2. 要打开注册表,请按 Ctrl-Alt-Shift-/并从出现的菜单中选择“注册表”,启用“compiler.automake.allow.when.app.running” 复选框。