如何在Eclipse中调试Lift应用程序?
我来自C++,Python和Django的背景,我试图扩展我的视野并学习Scala和Lift。但是,我很难搞清楚如何使用eclipse来调试Lift应用程序。如何在Eclipse中调试Lift应用程序?
我可以使用一些lift sbt模板创建项目并运行它们没有问题。但是,我无法从Eclipse内部启动应用程序,因为它找不到Jetty,因此我无法使用调试程序来逐步执行Lift代码。谷歌搜索周没有太大帮助。
有人可以分享他们的方法或建议吗?我也是jvm的新手,所以请随时分享最佳实践或指出我可能错过的重要区别。
好吧,我已经弄明白了。
所以我实际上并没有从Eclipse调试器启动应用程序。我通过sbt启动应用程序,然后将Eclipse远程调试器连接到运行webapp的sbt vm。
这里就是我所做的:
假设位于/ bin你SBT-launch.jar:
创建具有执行权限的文件/ bin中/ sbt_debug和含有这一行:
java -Xmx512M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar /bin/sbt-launch.jar "[email protected]"
该脚本正在执行的操作是启动sbt并指示jvm允许在端口5005上进行调试
转到您的终端中的lift项目目录并输入sbt_debug。一旦你在sbt控制台中输入container:start/container:update或〜jetty:start /〜jetty:update取决于你使用的是哪个版本的sbt。
下一页去Eclipse中单击调试图标并选择“调试配置...”
在左侧栏中,点击“远程Java应用程序”,并创建一个新的调试配置。将端口设置为5005
点击Debug按钮和Eclipse调试器现在应该调试你起步较早
注SBT过程:这是为我工作的第一个方法。如果你有一个更好的,请分享
我发现最有用的工具是用于Eclipse的SBT Eclipse Plugin和RunJettyRun插件。前者将允许您根据您的SBT设置生成Eclipse配置文件,后者将在附带调试器的情况下从Eclipse启动Jetty。另一个额外的好处是,使用SBT提示符中的“eclipse with-source = true”生成Eclipse配置将下载并附加src jar文件,因此您可以通过Lift和任何其他您依赖的第三方库以及您自己的码。
这是在Lift应用程序开发中使用调试器的推荐方法。至少它是人们在[邮件列表](http://groups.google.com/group/liftweb)上得到的答案 – fmpwizard 2011-12-25 03:37:15
很高兴知道。希望这个答案可以通过Google更容易找到。 – Blake 2011-12-25 17:10:02
在接下来的几周里,我会向lift wiki添加一个条目,这也会有所帮助。 – fmpwizard 2011-12-25 17:16:56