在Eclipse中debuggingPlayframework

我刚刚从Netbeans转移到Eclipse。 在Netbeans中,我可以debuggingPlayframework应用程序。 但是,在Eclipse中,为了debugging一个web应用程序(特定的Playframework应用程序),似乎很难configuration它。

和Play一样! 文档,

主发射器只能用Run As eclipse命令使用。 然后,您可以使用“debugging为”来使用“连接JPDA启动器”来随时启动debugging会话。 停止debugging会话不会停止服务器。

但是,我看不到“debugging为”中的“连接JPDA启动器”(我正在使用Eclipse Classic 3.7.0)。 我search了关于JPDA(我是新来的Java,不知道“主发射器”和JPDA,然后configuration远程debugging指示http://javarevisited.blogspot.com/2011/02/how-to -setup-remote-debugging-in.html但是它返回一个错误:

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

我search并发现了一些build议,如:

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

其实我不清楚这一点,我想这是configurationTomcat的。 不过,我正在使用Play! 默认服务器,检查application.conf并确定它正在监听端口9000和8000的JPDA。

当然,我已经在debugging之前启动了Play应用程序,我可以通过端口9000正常访问应用程序。 我使用Win 7没有pipe理员权限。

你有关于debugging玩具的详细指南! 在Eclipse中?

首先,你已经使用play eclipsify YourProject命令创build了Eclipse的configuration文件,对吧? (如果没有,请参阅Play框架文档以获取更多信息。)

之后,你的项目中应该有一个名为eclipse的文件夹。 在这里面,你应该看到Connect JDPA to YourProject.launchYourProject.launchTest YourProject.launch

右键单击YourProject.launch然后从popup菜单中selectRun As --> YourProject 。 这将启动你的应用程序。 当应用程序运行时,右键单击Connect JDPA to YourProject.launch ,然后selectDebug As --> Connect JDPA to YourProject.launch从popup菜单中Debug As --> Connect JDPA to YourProject.launch 。 这将启动您的应用程序的debugging会话。

截至Play 2.0,当你运行play eclipsify时, eclipse文件夹和启动器不再生成。 运行play eclipsify ,你可以在Eclipse中debugging你的项目,如下所示:

  1. 在eclipse之外的控制台中,运行play debug run
  2. 在Eclipse中,右键单击您的项目,然后selectDebug As -> Debug Configurations...
  3. 用鼠标右键单击Remote Java Application ,然后单击New
  4. 主机应该已经设置为localhost 。 将端口设置为9999play debug run命令使用的默认端口)。
  5. 单击Apply保存,然后Debug以连接到正在运行的Play实例。

播放2.1-RC2:运行播放! 与Eclipse同步的应用程序

为了使项目兼容Eclipse,得到了他的项目文件夹,然后给命令“>播放日食”。 现在你可以添加它作为一个现有的项目forms日食。

然后运行它,你必须先运行开始播放项目文件夹即命令“播放”

这将激活播放服务器并确定项目中的应用程序,例如[appname] $现在,您只需发出命令“run”即可查看在localhost:9000上运行的应用程序或您指定的任何端口configuration。

debugging模式:要运行这个类似的,你需要先给命令“播放”,然后[appname] $“播放debugging运行”这将默认使用端口9999,所以当你去浏览器中的localhost:9000和你的eclipse文件 -debugging为 – >debuggingconfiguration.. – >新的远程Java应用程序 – >连接指定端口9999和debugging

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

从Play 2.1.2开始,运行Playdebugging运行时,出现“正在使用中的地址”错误。

解决的办法是在play-2.1.2目录下编辑play.bat,并更改这两行:

 :setDebug set JPDA_PORT=9999 

 :setDebug set JPDA_PORT=8551 

然后在Eclipse中,selectDebug Configurations,find“Remote Java Application”,执行New。 然后将端口设置为8551.现在可以开始使用了

 play debug run 

然后在Eclipse中使用您创build的debuggingconfiguration开始debugging。

如果在项目文件夹中运行“玩eclipsify”,它将创build两个运行configuration。 查看运行configuration详细信息,您应该检查以下行(或类似的内容)是否在“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" 

在这里你可以configurationdebugging端口。 有了这个configuration,我可以附加到你使用的指导过程。

我想大多数人正在用Typesafe Activator来运行这个播放框架。 如果你这样做,这可能会帮助你,

  1. activator -jvm-debug〜运行

    像:activator -jvm-debug 9999〜运行

(然后它将在9999端口启动debugging器以及在9000端口运行的应用程序)。

  1. 现在去Eclipse,右键点击你要debugging的项目名称,然后selectdebugging为 – >debuggingconfiguration.. – >(select)远程Java应用程序 – >新(顶部左小图标加号) – >连接指定端口9999和debugging。