Я хотел бы использовать DevTools в своем веб-приложении Spring Boot.Я использую IntelliJ для этого.Но он не любит меня и не работает.Я прочитал много документации по этой проблеме, но, вероятно, решение ускользнуло от моего внимания.Может быть, вы можете мне помочь.
Я использую Gradle и Kotlin.Но я думаю, что это не должно быть проблемой.То, что я пробовал:
- Я использовать зависимость devtools в Gradle
- В Настройки -> Построение, Выполнение, Развертывание -> Компилятор -> Я проверилв 'Создать проект автоматически'
- Ctrl + Shift + A -> Реестр ... -> Я проверял 'compiler.automake.allow.when.app.running '
- В моем браузере (Chrome) я нажал F12 -> Сеть -> Я зарегистрировал ' Отключить кэш '
- Я отключил AdBlocker
Вот мое демо:
build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.1.8.RELEASE"
id("io.spring.dependency-management") version "1.0.8.RELEASE"
kotlin("jvm") version "1.2.71"
kotlin("plugin.spring") version "1.2.71"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
val developmentOnly by configurations.creating
configurations {
runtimeClasspath {
extendsFrom(developmentOnly)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
developmentOnly("org.springframework.boot:spring-boot-devtools")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
ком.excample.demo.controller.RestController.kt
package com.example.demo.controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class RestController {
@RequestMapping("/testDevTools")
public fun testDev(): String? {
return "apple"
}
}
com.excample.demo.DemoApplication.kt
package com.example.demo
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class DemoApplication
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}
И когдаЯ запускаю приложение:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.8.RELEASE)
2019-09-19 15:59:15.727 INFO 6672 --- [ restartedMain] com.example.demo.DemoApplicationKt : Starting DemoApplicationKt on DESKTOP-QRT95S2 with PID 6672 (started by Baráth Péter in C:\Users\Baráth Péter\OneDrive - Sonrisa Kft\Projects\Demos\devToolsDemo)
2019-09-19 15:59:15.731 INFO 6672 --- [ restartedMain] com.example.demo.DemoApplicationKt : No active profile set, falling back to default profiles: default
2019-09-19 15:59:15.890 INFO 6672 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2019-09-19 15:59:15.890 INFO 6672 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2019-09-19 15:59:19.376 INFO 6672 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9090 (http)
2019-09-19 15:59:19.430 INFO 6672 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-09-19 15:59:19.431 INFO 6672 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.24]
2019-09-19 15:59:19.666 INFO 6672 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2019-09-19 15:59:19.666 INFO 6672 --- [ restartedMain] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3776 ms
2019-09-19 15:59:20.205 INFO 6672 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-09-19 15:59:20.878 WARN 6672 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : Unable to start LiveReload server
2019-09-19 15:59:21.004 INFO 6672 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9090 (http) with context path ''
2019-09-19 15:59:21.018 INFO 6672 --- [ restartedMain] com.example.demo.DemoApplicationKt : Started DemoApplicationKt in 6.16 seconds (JVM running for 7.234)
2019-09-19 15:59:45.492 INFO 6672 --- [nio-9090-exec-3] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-09-19 15:59:45.493 INFO 6672 --- [nio-9090-exec-3] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-09-19 15:59:45.502 INFO 6672 --- [nio-9090-exec-3] o.s.web.servlet.DispatcherServlet : Completed initialization in 9 ms
Содержит эту строку:
2019-09-19 15:59:15.890 INFO 6672 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
Так что я не знаю, в чем проблема.Devtools активен.Я пытался изменить строку Apple в RestController.Затем сохраните и обновите веб-страницу, и она не изменилась.Я очень благодарен за любой совет.