如何在IntelliJ IDEA中以调试模式运行Play Framework 2.x?

14

我希望在 IntelliJ IDEA 中以调试模式运行 Play Framework 2.x。我在互联网上搜索了一下,所有的结果都说必须使用 play console。

不使用 play console 在 IntelliJ IDEA 中以调试模式运行 Play Framework 2.x 可能吗?


你可以在最后找到答案。https://dev59.com/MGAf5IYBdhLWcg3w2Fp6#35869872 - M-sAnNan
5个回答

30

使用 activator :

  1. 从终端(非 Intellij 终端)输入命令:activator ui
  2. 打开您现有的应用程序
  3. 选择“代码视图&在 IDE 中打开”
  4. 在浏览代码中,单击设置图标
  5. 选择在Intellij IDEA中打开项目
  6. 生成

  7. 打开Intellij IDEA

  8. 打开项目-浏览您的应用程序目录
  9. 运行-编辑配置
  10. 添加新配置-远程
  11. 添加名称 设置 传输:socket,调试器模式:附加,主机:localhost,端口:9999 模块冲突路径:您的应用程序
  12. 工具-打开终端
  13. activator -jvm-debug 9999 run
  14. 运行调试
  15. 在浏览器中打开localhost:9000

7
第11步有小错误,如果您使用端口“9999”启动JVM调试器,则端口应为“9999”。 - Mitch Wong Ho
1
在至少 Play 2.5 中,我还必须编辑 build.sbt 并确保它具有 'fork in run := false'。 - sebastianr
同样的问题,我无法让它正常工作,而且在运行中也没有设置分支为false。我确定我做错了什么,但是在Stack Overflow上搜索了3个小时也没有找到任何答案。 - michael.schuett

11

您需要使用Idea 12+ Ultimate版

  • 在Idea中安装Play 2.0 SupportScala和其他所需插件
  • 在命令行中执行play idea以生成项目
  • 在Idea中打开创建的项目(不要导入)
  • 转到:菜单 > 运行 > 编辑配置... > 添加新配置... > 选择Play 2 App
  • 菜单 > 运行中将出现新按钮DebugRun,第一个将带有启用调试器的应用程序运行。

2
为什么需要“play idea”,既然IDEA支持play/sbt项目? - Jacek Laskowski
在Idea 16中它是如何工作的?在版本14中,我已经做过同样的事情,但我找不到调试配置中的Play。 - Andreas Fritsch

5
准备:不要使用activator ui或类似工具创建项目,只需在IntelliJ中打开项目即可。
  1. activator -jvm-debug 9999 ~run。在run之前加上~可以启用自动重新加载生成的HTML页面。
  2. 在IntelliJ中:
    1. 运行 > 编辑配置...
    2. 选择 Defaults/Remote
    3. 点击左上角的绿色 +
    4. 命名为“Play 2”
    5. 确保传输方式为 Socket 并且调试器模式为 Attach
    6. 将端口号设为 9999 Preferences Screenshot
    7. 按下“OK”
  3. 运行 > Debug Play 2(列表中的第二项)
专业提示:查看play-auto-refresh插件,让Chrome在更改后自动重新加载页面。
(基于 @ARM 的回答)

真是太棒了。没想到调试只用了2分钟就跑起来了。这个人应该得到一个饼干! - Jiro Matchonson

3
  1. 打开Intellij IDEA
  2. 打开项目-浏览您的应用程序目录 运行-编辑配置
  3. 添加新的配置 - Play2
  4. http://localhost:9000 添加到打开选项的URL中
  5. -Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M 添加到JVM选项
  6. 将调试端口设置为9999
  7. 设置您的断点并调试应用程序。干杯:)

FYI:以上所有字段都可能已填写完毕

enter image description here


1
这对我很有用,也许更容易
  1. 文件菜单 => 设置 => 构建、执行、部署 => sbt => 勾选 "启用 sbt shell 调试"

  2. Idea 的 sbt shell 现在将启用调试,日志输出端口为 "Listening for transport dt_socket at address: 52701"

  3. 运行/调试配置 => 添加(加号) => 远程 => 设置 "端口" 和 "使用模块类路径"

  4. 在 sbt shell 中键入 run,然后点击调试按钮

屏幕截图
  1. 启用idea嵌入sbt调试 在此输入图片描述
  2. sbt shell启动日志 在此输入图片描述
  3. 在“运行/调试”中添加远程 在此输入图片描述
  4. 在此处键入run 在此输入图片描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接