spring-boot-devtools禁用调试,无法命中断点

时间:2018-02-06 18:44:31

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

我在spring-boot中使用devtools。

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

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

这是我在调试模式下运行它的方法: enter image description here

在此处使用调试模式。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我找到了解决方法。使用其他标志:

const express = require("express");
const app = express();
const expressWs = require("express-ws")(app);

// handles bot request
app.post("/request", (req, res) => {
  playlist.push(req.body.url);
  res.status(200).send({ message: "video is added to playlist" });
});

// after handling requst data must go here and send ws message to client side
app.ws("/echo", (ws, req) => {
  ws.on("message", msg => {
  ws.send(`msg is = ${msg}`);
  });
});

可能的原因(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时会这样做。