2012-01-08 65 views
5

我使用sbt-idea插件创建了一个Lift项目ifor IDEA 11 Community Edition。 它从SBT插件SBT控制台编译并运行良好,我也能够通过创建正确的“远程”配置进行调试。如何在IntelliJ IDEA 11社区版中创建SBT运行配置?

但是,如何创建SBT运行配置?

我不想在SBT控制台中每次输入“container:start”,我想使用运行/调试按钮启动。
我无法找到一些SBT配置类型(例如有可用的“Maven”类型),并且当我尝试添加基于“应用程序类型”的配置时,我无法指定主类。

还有没有“斯卡拉编译服务器”类型的可用(我不能看到它在可用的配置类型的列表),所以我不能使用的解决方案是这样https://stackoverflow.com/a/6131737/705819/
是否有应该做任何具体行动为“Scala编译服务器”类型显示?还是仅在完整版的IDEA中可用?

更新:我也为我的项目使用JRebel。如果没有正确的运行配置,我必须通过VM参数运行带有JRebel的SBT并通过远程配置进行调试 - 因此,每当我更新代码(导致Jrebel重新加载类)而不是只点击“Debug with Jrebel”按钮时,我就会重新启动调试器(感谢Jrebel IDEA插件)。这是非常烦人的,请帮助!

+1

将'alias cs = container:start'添加到'.sbtrc'以避免一些击键。 – retronym 2012-01-08 15:05:12

回答

1

你需要多少servlet容器?我会建议编写一个启动嵌入式Jetty的常规主方法。

添加到您的构建设置到码头添加到测试类路径:

libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.22" % "test" 

然后采取code snippet from here开始码头:

您可以设置一个pre-run action这个运行配置运行sbt package ,这将创建一个战争。

+0

非常感谢!我为jetty 8编写了一个主要的方法(api已经稍微改变了http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty),它的工作原理!最后一件事 - 我仍然在使用SBT控制台并行调试(我运行“〜compile”命令),导致JRebel需要连续编译源代码才能正常工作。我希望我可以在启动SBT动作之前分配一个“〜编译”,但是没有这样的选项。也许你可以建议一个解决方法吗? – Alexzander 2012-01-08 23:34:35

+1

我有同样的问题,有点这个解决方案没有为我工作,因为我根本不写Web应用程序。 – Arne 2013-05-10 22:11:25

相关问题