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

Posted

技术标签:

【中文标题】运行 play2 和 eclipse 时可以避免两次编译源代码吗?【英文标题】:Can I avoid compiling sources twice when running play2 and eclipse? 【发布时间】:2012-06-11 13:07:46 【问题描述】:

目前我正在同时运行 eclipse 和播放(使用 ~run)。当我更改文件时,它将由 play 和 eclipse 编译。

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

据我所知,eclipse 插件也使用 sbt 来构建项目,所以也许有一种方法可以在 eclipse 中执行 play "run" 命令?

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

【问题讨论】:

***.com/questions/4803283/…的可能重复 嗯,我不认为这是一个重复的问题。我不想关闭 eclipse 的功能——如果我想的话,我可以使用文本编辑器。 【参考方案1】:

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

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

【讨论】:

当我关闭它时,我失去了一些对我很重要的功能:当我更改一个文件中的某些内容并破坏其他文件时,我不会直接看到这一点。 尝试将 Eclipse 构建路径指向 Play/SBT 正在构建的位置。 @pedrofurla:试过了。没有帮助 - Play 仍然想要编译 Eclipse 已经编译的源代码,而 Eclipse 想要自己编译它们,否则它不会显示/删除跨文件错误。 哦,删除自动生成。【参考方案2】:

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

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

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

使用以下命令创建 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()
  

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

我的 DebugStart.scala 版本实际上包含一些依赖于平台的 hackish 代码来杀死任何正在运行的进程,因此我只需按 F11 或 CTRL+F11 即可重新启动应用程序。

为了确保您的资产/来源是最新的运行:

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

【讨论】:

调整配置后,在 Eclipse 中运行并监听端口 9000,但它不起作用:控制台视图保持空白(除非存在配置错误或我请求线程转储)和如果我将浏览器指向 localhost:9000,它只会挂起等待连接。我只是无法想象为什么。 ¿提示?【参考方案3】:

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

【讨论】:

以上是关于运行 play2 和 eclipse 时可以避免两次编译源代码吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse 中运行 Java 应用程序时如何避免全局扩展

如何避免SVN运行时老是输入密码

play2 有选择地覆盖 application.conf 中运行任务的设置

带有 Play2.4 和 scala 的 Google Guice 的循环依赖错误

Eclipse启动时,项目文件丢失了,这种问题如何避免?

如何在连接时避免在 Eclipse 中与多个 JDBC 驱动程序发生 JAR 冲突?