我来自 C++、Python 和 Django 的背景,我正在努力扩大我的视野并学习 Scala 和 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 "$@"
这个脚本正在做的是启动 sbt 并指示 jvm 允许在端口 5005 上进行调试
转到终端中的提升项目目录并输入 sbt_debug。进入 sbt 控制台后,根据您使用的 sbt 版本输入 container:start/container:update 或 ~jetty:start/~jetty:update 。
接下来转到 Eclipse,单击调试图标并选择“调试配置...”
在左侧列中,单击“远程 Java 应用程序”并创建新的调试配置。将端口设置为 5005。
点击 Debug 按钮,Eclipse 调试器现在应该正在调试您之前启动的 sbt 进程
注意:这是第一种对我有用的方法。如果你有更好的,请分享
关于eclipse - 如何在 Eclipse 中调试 Lift 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621542/