运行play2和eclipse时,我可以避免两次编译源吗?

时间:2012-06-07 13:09:54

标签: eclipse scala sbt playframework-2.0

目前我正在运行eclipse并同时播放(使用〜运行)。当我更改文件时,它将通过play和eclipse进行编译。

是否可以避免这两个编译步骤中的一个?

据我所知,eclipse插件也使用sbt来构建项目,所以也许有办法在eclipse中执行play“run”命令?

(我问,因为我的笔记本电脑不是很快,编辑需要一些时间,我希望在播放网页上宣传“快速周转”;)

3 个答案:

答案 0 :(得分:5)

您可以在Build Automatically菜单中关闭Project,而不会丢失任何IDE功能。二进制文件只能由Sbt构建(在命令行上)。

可以在Scala IDE网站上找到使用Scala IDE设置P​​lay 2的详细指南:http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

答案 1 :(得分:1)

我还没有尝试在eclipse中运行play run sbt任务。

但你可以直接从eclipse运行服务器。

  1. 将“target / scala-2.9.1 / classes”添加到您的类路径,使用过滤器仅包含您的资源。 (项目属性,Java构建路径)
  2. 从“运行按钮菜单”中选择“运行配置...”。
  3. 使用您喜欢的名称创建一个新的“Java Application”配置。
  4. 主选项卡:使用“DebugStart”作为主类
  5. 参数选项卡:配置VM参数中可能需要的任何“-Dconfig.file = ...”“ - Dlogger.file”选项
  6. Classpath选项卡:将conf目录添加到类路径(高级/添加文件夹)
  7. 使用以下命令创建DebugStart.scala:

    import play.core.server.NettyServer
    import java.io.File
    import play.core.SBTLink
    import play.core.TestApplication
    import play.api.test.FakeApplication
    import play.api.test.TestServer
    
    object DebugStart {
      def main(args: Array[String]) {
        val app = FakeApplication()
        val server = TestServer(9000, app)
        server.start()
      }
    }
    

    您现在可以通过运行或调试来启动应用程序。如果使用debug,则可以在不重新启动的情况下执行一些代码更改。

    我的DebugStart.scala版本实际上包含一些依赖于平台的hackish代码来杀死任何正在运行的进程,所以我可以点击F11或CTRL + F11来重启应用程序。

    确保您的资产/来源是最新的:

    > sbt
    ...
    [your project] $  ~ ;play-copy-assets;sources
    

答案 2 :(得分:0)

IntelliJ Idea 12(Leda)即将推出。我暂时使用11并且没有这样的问题,但新版本将提供更好的Play 2.0集成。