如何在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过程:这是为我工作的第一个方法。如果你有一个更好的,请分享

+1

这是在Lift应用程序开发中使用调试器的推荐方法。至少它是人们在[邮件列表](http://groups.google.com/group/liftweb)上得到的答案 – fmpwizard 2011-12-25 03:37:15

+0

很高兴知道。希望这个答案可以通过Google更容易找到。 – Blake 2011-12-25 17:10:02

+0

在接下来的几周里,我会向lift wiki添加一个条目,这也会有所帮助。 – fmpwizard 2011-12-25 17:16:56

我发现最有用的工具是用于Eclipse的SBT Eclipse PluginRunJettyRun插件。前者将允许您根据您的SBT设置生成Eclipse配置文件,后者将在附带调试器的情况下从Eclipse启动Jetty。另一个额外的好处是,使用SBT提示符中的“eclipse with-source = true”生成Eclipse配置将下载并附加src jar文件,因此您可以通过Lift和任何其他您依赖的第三方库以及您自己的码。