Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Eclipse中调试Lift应用程序? 我来自C++、Python和Django的背景,我试图拓展我的视野,学习斯卡拉和提升。然而,我很难弄清楚如何使用eclipse调试Lift应用程序_Eclipse_Debugging_Scala_Lift - Fatal编程技术网

如何在Eclipse中调试Lift应用程序? 我来自C++、Python和Django的背景,我试图拓展我的视野,学习斯卡拉和提升。然而,我很难弄清楚如何使用eclipse调试Lift应用程序

如何在Eclipse中调试Lift应用程序? 我来自C++、Python和Django的背景,我试图拓展我的视野,学习斯卡拉和提升。然而,我很难弄清楚如何使用eclipse调试Lift应用程序,eclipse,debugging,scala,lift,Eclipse,Debugging,Scala,Lift,我可以使用一些lift sbt模板创建项目,并毫无问题地运行它们。但是,我无法从Eclipse中启动应用程序,因为它找不到Jetty,因此,我无法使用调试器单步执行提升代码。数周的谷歌搜索没有多大帮助 有人可以分享他们的方法或建议吗?我也是jvm新手,所以请随意分享最佳实践或指出我可能遗漏的重要差异。好的,我已经解决了这个问题 因此,我实际上并不是从Eclipse调试器启动应用程序。我通过sbt启动应用程序,然后将Eclipse远程调试器连接到运行webapp的sbt vm 以下是我所做的: 假

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


有人可以分享他们的方法或建议吗?我也是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上进行调试

转到终端中的lift项目目录并输入sbt_debug。进入sbt控制台后,根据您使用的sbt版本,输入container:start/container:update或~jetty:start/~jetty:update

接下来转到Eclipse,单击调试图标并选择“调试配置…”

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

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


注意:这是第一个对我有效的方法。如果您有更好的工具,请与我们分享

我发现最有用的工具是Eclipse和插件。前者将允许您根据SBT设置生成Eclipse配置文件,后者将从Eclipse启动Jetty并附带调试器。另外一个好处是,使用SBT提示符中的“Eclipse with source=true”生成Eclipse配置时,还将下载并附加src JAR,这样您就可以逐步完成Lift和您所依赖的任何其他第三方库以及您自己的代码

这是在Lift应用程序开发中使用调试器的推荐方法。至少这是人们乐于知道的答案。希望这个答案能通过谷歌更容易找到。在接下来的几周里,我会在lift wiki上添加一个条目,这也会有所帮助。