【问题标题】:spring-boot-devtools disables debugging, cannot hit breakpointsspring-boot-devtools 禁用调试,不能命中断点
【发布时间】:2018-02-06 18:44:31
【问题描述】:

我在 spring-boot 中使用 devtools。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>

我在调试模式下运行,但我无法命中任何断点,断点中缺少 v 表示类尚未加载。如果我从 POM 中删除 devtools 依赖项,则断点开始命中。有没有办法我可以使用 devtools 并打断点?

这是我在调试模式下运行它的方式:

这里使用调试模式。

【问题讨论】:

  • 你在调试模式下运行得如何?
  • @AndyWilkinson Intellij 上的调试选项。
  • 在您的应用程序的主类或 Spring Boot 的 Maven 插件的 run 目标上?
  • maven 插件。见上图。
  • 同样的事情发生在我身上,只要我将依赖项添加到spring-boot-devtools,断点就不会被命中。我删除它,断点恢复工作。

标签: java maven debugging spring-boot spring-boot-devtools


【解决方案1】:

我遇到了同样的问题。我找到了解决方法。使用附加标志:

-Dspring-boot.run.fork=false

可能原因(20.2 自动重启): https://docs.spring.io/spring-boot/docs/2.1.9.RELEASE/reference/html/using-boot-devtools.html

只要启用了分叉,您还可以使用支持的构建插件(Maven 和 Gradle)启动您的应用程序,因为 DevTools 需要一个独立的应用程序类加载器才能正常运行。默认情况下,Gradle 和 Maven 在类路径上检测到 DevTools 时会这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 2017-08-26
    • 1970-01-01
    • 2021-03-02
    • 2011-05-18
    • 2023-03-08
    • 2017-05-09
    • 1970-01-01
    相关资源
    最近更新 更多