我是Play的新手,我已经安装了playframwork 2.6。我曾经能够调试项目,但现在不能。我已经尝试了许多项目,但无法调试。
当我发出sbt run命令时,就没有问题:
--- (Running the application, auto-reloading is enabled) ---
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
但是当我发出命令sbt -jvm-debug 9999
时,控制台的输出如下:
Listening for transport dt_socket at address: 9999
[info] Loading settings for project play-new-build from plugins.sbt,scaffold.sbt ...
[info] Loading project definition from /home/erlendurag/projects/play-new/project
[info] Loading settings for project root from build.sbt ...
[info] Set current project to play-new (in build file:/home/erlendurag/projects/play-new/)
[info] sbt server started at local:///home/erlendurag/.sbt/1.0/server/80df831136abccd57227/sock
[play-new] $
但是AkkaHttpServer没有启动吗?通过使用netstat命令,我看到java正在侦听端口。但是,如果我打开localhost:9000,就什么也没有。
答案 0 :(得分:1)
在使用SBT控制台的文档https://www.playframework.com/documentation/2.6.x/PlayConsole
中有这行代码:
您可以要求Play在启动控制台时启动JPDA调试端口。您可以 然后使用Java调试器进行连接。使用sbt -jvm-debug命令执行
$ sbt -jvm-debug 9999
但是如果我也想运行AkkaHttpServer,那么正确的命令是:
sbt run -jvm-debug 9999
这让我感到困惑!
但是在这些Play框架教程中,我给出了答案。
sbt run -jvm-debug 9999
https://www.youtube.com/playlist?list=PLYPFxrXyK0Bx9SBkNhJr1e2-NlIq4E7ED