【问题标题】:How do I debug Lift applications in Eclipse?如何在 Eclipse 中调试 Lift 应用程序?
【发布时间】:2014-01-31 17:28:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: eclipse debugging scala lift


    【解决方案1】:

    好的,我已经弄清楚了。

    所以我实际上并没有从 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 上进行调试

    在终端中转到您的 lift 项目目录并输入 sbt_debug。在 sbt 控制台中输入 container:start / container:update 或 ~jetty:start / ~jetty:update 取决于您使用的 sbt 版本。

    接下来进入 Eclipse,点击调试图标并选择“Debug Configurations...”

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

    点击 Debug 按钮,Eclipse 调试器现在应该正在调试您之前启动的 sbt 进程

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

    【讨论】:

    • 这是在 Lift 应用程序开发中使用调试器的推荐方式。至少这是人们在mailing list 上得到的答案
    • 很高兴知道。希望通过 Google 更容易找到这个答案。
    • 在接下来的几周内,我会在 Lift wiki 中添加一个条目,这应该也会有所帮助。
    【解决方案2】:

    我发现最有用的工具是 Eclipse 的 SBT Eclipse PluginRunJettyRun 插件。前者将允许您根据您的 SBT 设置生成 Eclipse 配置文件,后者将从 Eclipse 启动 Jetty,并附加调试器。一个额外的好处是,在 SBT 提示符下使用“eclipse with-source=true”生成你的 Eclipse 配置将下载并附加 src jar,这样你就可以逐步浏览 Lift 和你依赖的任何其他 3rd 方库以及你自己的库代码。

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 2010-12-31
      • 2012-08-17
      • 2013-02-20
      相关资源
      最近更新 更多