作为对dankdirkd上面答案的回应:(比较)
gradle bootRun --debug-jvm
将使 gradle 构建版本在调试模式下运行。这可能不是你想要的。您要实现的是 springBoot 任务在调试模式下启动应用程序。
spring boot 任务扩展了 gradle JavaExec 任务。您可以在 build.gradle 文件中配置 bootRun 任务,以添加调试配置,如下所示:
bootRun {
jvmArgs=["-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=32323"]
}
对于 build.gradle.kts,如下所示(禁用挂起模式):
tasks {
val bootRun by getting(BootRun::class) {
jvmArgs=listOf("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=32323")
}
}
如果您的服务器位于云中,并且您希望从本地计算机进行调试,则需要确保它允许来自外部的连接。在这种情况下,请使用以下配置
tasks {
val bootRun by getting(BootRun::class) {
jvmArgs=listOf("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:32323")
}
}
请注意,地址现在是,而不仅仅是0.0.0.0:port
port