如何在Eclipse中调试Lift应用程序?

Bla*_*ake 4 eclipse debugging scala lift

我来自C++,Python和Django的背景,我正在努力扩展我的视野并学习Scala和Lift.但是,我很难弄清楚如何使用eclipse调试Lift应用程序.

我可以使用一些提升sbt模板创建项目并运行它们没问题.但是,我无法从Eclipse中启动应用程序,因为它无法找到Jetty,因此,我无法使用调试器来逐步执行Lift代码.几周的谷歌搜索没有多大帮助.

有人可以分享他们的方法或建议吗?我也是jvm的新手,所以请随意分享最佳实践或指出我可能遗漏的重要差异.

Bla*_*ake 7

好的,我已经弄明白了.

所以我实际上并没有从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 "$@"
Run Code Online (Sandbox Code Playgroud)

这个脚本正在做的是启动sbt并指示jvm允许在端口5005上进行调试

转到终端中的电梯项目目录,然后输入sbt_debug.一旦你进入sbt控制台,输入container:start/container:update或~jetty:start /~rampty:update,具体取决于你正在使用的sbt版本.

接下来转到Eclipse,单击调试图标并选择"Debug Configurations ..."

在左侧列中,单击"远程Java应用程序"并创建新的调试配置.将端口设置为5005.

点击Debug按钮,Eclipse调试器现在应该调试你之前开始的sbt进程

注意:这是第一种对我有用的方法.如果你有一个更好的,请分享