首页 文章

在Eclipse中调试Playframework

提问于
浏览
38

我刚从Netbeans转到Eclipse . 在Netbeans中,我可以开箱即用地调试Playframework应用程序 . 但是,在Eclipse中,为了调试Web应用程序(特定的Playframework应用程序),似乎很难配置它 .

就像玩!文档,

主启动器只能与Run As eclipse命令一起使用 . 然后,您可以使用“调试为”连接“连接JPDA启动程序”以随时启动调试会话 . 停止调试会话不会停止服务器 .

但是,我无法在"Debug As"中看到“连接JPDA启动器”(我'm using Eclipse Classic 3.7.0). I'搜索了关于JPDA(我知道"main launcher"和JPDA,然后在_3003837中配置远程调试作为指示)但它返回错误:

无法连接到远程VM . 拒绝连接 . 连接被拒绝:连接

我搜索过并找到了一些建议:

1.)编辑catalina.bat并添加以下行:set JPDA_TRANSPORT = dt_socket ... set JPDA_ADDRESS = 8000 AND 2.)编辑startup.bat调用“%EXECUTABLE%”jpda start%CMD_LINE_ARGS%

实际上我并不清楚这一点,我想这是配置Tomcat . 但是,我正在使用Play!默认服务器,检查application.conf并确保它正在侦听JPDA的端口9000和8000 .

当然,我在调试之前启动了Play应用程序,我可以正常通过端口9000访问应用程序 . 我使用的是没有管理员权限的Win 7 .

你有关于调试Play的详细指南吗?在Eclipse中?

7 回答

  • 30

    首先,您使用 play eclipsify YourProject 命令为Eclipse创建了配置文件,对吧? (如果没有,请参阅Play framework documentation以获取更多信息 . )

    之后,您的项目中应该有一个名为 eclipse 的文件夹 . 在其中,您应该看到命令 Connect JDPA to YourProject.launchYourProject.launchTest YourProject.launch .

    右键单击 YourProject.launch 并从弹出菜单中选择 Run As --> YourProject . 这将启动您的申请 . 应用程序运行时,右键单击 Connect JDPA to YourProject.launch ,然后从弹出菜单中选择 Debug As --> Connect JDPA to YourProject.launch . 这将在您的应用程序上启动调试会话 .

  • 7

    从Play 2.0开始,运行 play eclipsify 时不再生成 eclipse 文件夹和启动器 . 运行 play eclipsify 后,您可以在Eclipse中调试项目,如下所示:

    • 在eclipse之外的控制台中,运行 play debug run .

    • 在Eclipse中,右键单击您的项目,然后选择 Debug As -> Debug Configurations...

    • 右键单击 Remote Java Application ,然后单击 New .

    • 主机应已设置为 localhost . 将端口设置为 9999play debug run 命令使用的默认端口) .

    • 单击 Apply 进行保存,然后单击 Debug 以连接到正在运行的Play实例 .

  • 3

    Play 2.1-RC2 : 跑步玩!与Eclipse同步的应用程序

    为了使项目Eclipse兼容,得到项目文件夹,然后命令“>播放eclipse” . 现在您可以将其添加为eclipse的现有项目形式 .

    然后要运行它,你必须先在项目文件夹中运行start play,即命令“play”

    这将激活播放服务器并识别项目中的应用程序,即[appname] $现在您只需要命令“运行”以查看您的应用程序在localhost:9000或您指定的任何端口配置上运行 .

    Debug mode: 为了类似地运行你需要首先给出命令"play"然后[appname] $ "play debug run"这将默认使用端口9999所以当你在浏览器和eclipse文件中转到localhost:9000时 - > Debug As - > Debug configuration .. - >新的远程Java应用程序 - > connect指定端口9999和debug

  • 2

    使用激活器,你需要 activator -jvm-debug <port number> ~run

  • 4

    我想大多数人都在使用Typesafe Activator运行游戏框架 . 如果您这样做,这可能对您有所帮助,

    • activator -jvm-debug~运行

    喜欢:activator -jvm-debug 9999 ~运行

    (然后它会在9999端口启动调试器,同时应用程序在9000端口运行 . )

    • 现在转到eclipse并右键单击要调试的项目名称并选择 Debug As - >调试配置.. - >(选择)远程Java应用程序 - >新建(左上角带有小加号的图标) - > connect指定端口9999和调试 .
  • 114

    从Play 2.1.2开始,我在运行play debug run时收到了“正在使用的地址”错误 .

    解决方法是在play-2.1.2目录中编辑play.bat并更改以下两行:

    :setDebug
    set JPDA_PORT=9999
    

    :setDebug
    set JPDA_PORT=8551
    

    然后在Eclipse中,选择Debug Configurations,找到“Remote Java Application”,执行New . 然后将端口设置为8551.现在您可以开始使用

    play debug run
    

    然后在Eclipse使用您创建的调试配置开始调试 .

  • 1

    如果在项目文件夹上运行“play eclipsify”,它将创建两个运行配置 . 查看运行配置详细信息,您应该检查“VM参数”中是否包含以下行(或类似内容):

    -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
    -Dplay.debug=yes
    -Dplay.id=test -Dapplication.path="${project_loc:NMKServer}"
    -Djava.endorsed.dirs="c:\Java\play-1.2.2/framework/endorsed"
    -javaagent:"c:\Java\play-1.2.2/framework/play-1.2.2.jar"
    

    您可以在此处配置调试端口 . 使用此配置,我可以使用您拥有的指令附加到进程 .

相关问题