当前位置: 首页 > 知识库问答 >
问题:

在IntelliJ IDEA中使用Play调试SBT项目

阳宗清
2023-03-14

我有一个 SBT 项目

在这个项目中,我有一个子播放项目和其他项目

我的构建文件中的示例:

 lazy val subProj1 = Project(id = "sub-proj-1", base = file("sub1"))
.settings(...)...

 lazy val subProjPlay =  play.Project("play-proj", 1.0 , path = file("web"))

需要从IntelliJ IDEA调试播放服务器。

为了运行该项目,我在命令行上使用sbt run

如何在 IDEA 中调试项目?

共有3个答案

韦睿
2023-03-14

如果您在本地安装了Play发行版,请在命令行上使用play debug run并连接到IDEA中端口9999上的localhost

来自官方Play 2.2.x文档中使用播放控制台的调试部分:

您可以在启动控制台时要求Play启动JPDA调试端口。然后,您可以使用Java调试器进行连接。使用play debug命令来执行此操作

但是,如果您没有它(并且由于某种原因不想安装它),请在IDEA中添加远程运行配置,该配置将为您提供在启动SBT时应使用的命令行参数的提示,例如

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

当您启动SBT时,这可能像启动SBT jar一样简单,也可能不像启动jar一样简单,只需使用上面的方法将JVM配置为在调试模式下运行。

高迪
2023-03-14

最简单的解决方案。

>

  • 编辑配置...-

  • 仉嘉泽
    2023-03-14

    我发现这是最简单的解决方案:(使用IntelliJ IDEA)

    在IntelliJ中:

    转到“编辑运行配置”

    创建一个新的远程配置(端口9999,所有其他细节保留默认值)

    返回到 IntelliJ 并运行新的调试配置(不要忘记放置一个断点)

    从命令行运行:

     sbt -jvm-debug 9999 run
    
     类似资料:
    • 在中断三年后回到Play框架,并尝试从最新的Play(2.8.0)和sbt(1.5.5)开始。 我正在尝试运行一个项目并收到以下消息: 在我的文件中,我有: 在我的<code>构建中。sbt文件,我有: 跑步: 我猜可能存在版本冲突,但不确定如何修复。我找到了其他帖子,但他们没有给我答案:未解决的依赖性sbt with play framework 玩!框架和 SBT - ebeans 模块的问题

    • 我需要你的帮助,请理解调试一个maven应用程序使用Wildfly和Intellij的想法。 谢谢,

    • 我从未尝试过在Scala中使用任何类型的调试器,也从未尝试过在IntelliJ Idea中调试任何东西(而我一直在使用Idea编写Scala代码)。现在,由于最近的IntelliJ Idea 13已获得内置SBT支持,我尝试使用此功能(而不是旧的SBT Idea SBT插件方式)导入SBT项目,这似乎是可行的。但我不知道在这种情况下如何运行和调试程序。当然,我可以使用传统的SBT命令行方式来构建和

    • 我有一个sbt插件项目,使用多项目构建。我想使用这个插件作为其他sbt项目的依赖项。我已经创建了一个插件,但是当我把这个插件添加到project中时,我似乎不能正确地连接依赖项。 我在这里漏掉了什么?

    • 我使用IntelliJ的SBT插件,并创建了一个具有以下构建设置的scala项目:build.scala: 任何想法都是高度赞赏的。

    • https://github.com/jasongoodwin/play21-multimodule-demo有代码。我已经在3个不同的项目上重现了这个问题。我不知道怎么回事。一旦将聚合和依赖项放到build.scala文件中,项目就会在尝试开始播放时抛出一个错误。 [info]从/users/jgoodwin/.sbt/plugins[info]从/users/jgoodwin/developm