在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.launch
, YourProject.launch
和Test 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你的项目,如下所示:
- 在eclipse之外的控制台中,运行
play debug run
。 - 在Eclipse中,右键单击您的项目,然后select
Debug As -> Debug Configurations...
- 用鼠标右键单击
Remote Java Application
,然后单击New
。 - 主机应该已经设置为
localhost
。 将端口设置为9999
(play debug run
命令使用的默认端口)。 - 单击
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来运行这个播放框架。 如果你这样做,这可能会帮助你,
-
activator -jvm-debug〜运行
像:activator -jvm-debug 9999〜运行
(然后它将在9999端口启动debugging器以及在9000端口运行的应用程序)。
- 现在去Eclipse,右键点击你要debugging的项目名称,然后selectdebugging为 – >debuggingconfiguration.. – >(select)远程Java应用程序 – >新(顶部左小图标加号) – >连接指定端口9999和debugging。