Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Eclipse中调试Playframework_Eclipse_Debugging_Playframework - Fatal编程技术网

在Eclipse中调试Playframework

在Eclipse中调试Playframework,eclipse,debugging,playframework,Eclipse,Debugging,Playframework,我刚从Netbeans迁移到Eclipse。在Netbeans中,我可以即时调试Playframework应用程序。然而,在Eclipse中,为了调试web应用程序(特定的Playframework应用程序),似乎很难对此进行配置 就像在玩一样!文件 中的主启动器只能与runaseclipse命令一起使用。你 然后可以使用“连接JPDA启动器”并使用“调试为”启动 随时调试会话。停止调试会话将不起作用 停止服务器 然而,我在“调试为”中看不到“连接JPDA启动器”(我使用的是EclipseCla

我刚从Netbeans迁移到Eclipse。在Netbeans中,我可以即时调试Playframework应用程序。然而,在Eclipse中,为了调试web应用程序(特定的Playframework应用程序),似乎很难对此进行配置

就像在玩一样!文件

中的主启动器只能与runaseclipse命令一起使用。你 然后可以使用“连接JPDA启动器”并使用“调试为”启动 随时调试会话。停止调试会话将不起作用 停止服务器

然而,我在“调试为”中看不到“连接JPDA启动器”(我使用的是EclipseClassic3.7.0)。 我搜索了JPDA(我是Java新手,不知道“主启动器”和JPDA),然后按照中的说明配置远程调试 但它返回了一个错误:

无法连接到远程VM。连接被拒绝。连接失败 拒绝:连接

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

1.)编辑catalina.bat并添加行:set JPDA_传输=dt_套接字。。。设置JPDA_地址=8000和 2.)编辑startup.bat调用“%EXECUTABLE%”jpda start%CMD\u LINE\u ARGS%

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

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


你有详细的调试指南吗!在Eclipse中?

首先,您已经使用
play Eclipse YourProject
命令为Eclipse创建了配置文件,对吗?(如果不是,请参阅以了解更多信息。)

之后,您的项目中应该有一个名为
eclipse
的文件夹。在其中,您应该看到命令
将JDPA连接到您的项目。启动
您的项目。启动
测试您的项目。启动

右键单击
YourProject。启动
,然后从弹出菜单中选择
runas-->YourProject
。这将启动您的应用程序。当应用程序运行时,右键单击
将JDPA连接到项目。启动
,然后从弹出菜单中选择
调试方式-->将JDPA连接到项目。启动
。这将在应用程序上启动调试会话。

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


您可以在这里配置调试端口。使用此配置,我可以使用您的说明附加到进程。

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

  • 在eclipse之外的控制台中,运行
    playdebugrun
  • 在Eclipse中,右键单击项目,然后选择
    Debug As->Debug Configurations…
  • 右键单击
    远程Java应用程序
    ,然后单击
    新建
  • 主机应已设置为
    localhost
    。将端口设置为
    9999
    play debug run
    命令使用的默认端口)
  • 单击
    Apply
    保存,然后单击
    Debug
    连接到正在运行的Play实例
  • 播放2.1-RC2:跑步播放!与Eclipse同步的应用程序

    要使项目Eclipse兼容,请获取项目文件夹,然后发出命令 “>播放eclipse”。现在,您可以将其添加为现有的项目表单eclipse

    然后要运行它,您必须首先在项目文件夹中运行开始播放,即命令“播放”

    这将激活play server并识别项目中的应用程序,即[appname]$ 现在,您只需发出“run”命令,即可看到您的应用程序在localhost:9000或您指定的任何端口配置上运行


    调试模式:要以类似方式运行此命令,您需要首先发出命令“play”,然后发出[appname]$“play Debug run”,默认情况下,此命令将使用端口9999,因此当您在浏览器和eclipse文件中转到localhost:9000->Debug As->Debug configuration..->新的远程Java应用程序->连接指定端口9999和调试

    从Play 2.1.2开始,我在运行Play debug run时遇到“address in use”错误

    修复方法是编辑play-2.1.2目录中的play.bat并更改以下两行:

    :setDebug
    set JPDA_PORT=9999
    

    然后在Eclipse中,选择调试配置,查找“远程Java应用程序”,执行新操作。然后将端口设置为8551。现在您可以开始使用

    play debug run
    

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

    使用activator,您将需要运行
    activator-jvm debug~run

    我想大多数人都在使用Typesafe activator运行play框架。如果你这样做,这可能会帮助你

  • 激活器-jvm调试~run

    比如:activator-jvm调试9999~run

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

  • 现在转到eclipse,右键单击要调试的项目名称,然后选择调试为调试配置(选择)远程Java应用程序->新建(左上角是一个带有微小加号的图标)->连接指定端口9999并调试

  • 有时这会造成麻烦,因为端口已被使用。另请参见第1步,您可以从命令行启动应用程序,而不是从Eclipse内部启动应用程序,例如,
    playtest
    (因为调试始终在
    DEV
    模式下启用)。这样,它总是使用您现有的配置,否则您需要为不同的端口和/或数据库修改生成的“.launch”文件
    :setDebug
    set JPDA_PORT=8551
    
    play debug run