【问题标题】:IDEA 12 Create Scala Play 2.0: Project Files ChangedIDEA 12 创建 Scala Play 2.0:项目文件已更改
【发布时间】:2012-11-26 23:09:00
【问题描述】:

问题:

当我在 IntelliJ IDEA 12 中使用 Scala Play 2.0.4 应用程序时,我收到很多红色语法高亮错误,当我在 Play 中运行应用程序时,这些错误不会显示为错误!在命令行中。

问题:

还有其他人在 IntelliJ IDEA 12 中成功运行 Scala Play 2.0 应用程序吗?如果是这样,你能否给我一些关于我如何做到这一点的建议。

背景信息:

当我在 IntelliJ 中创建一个新项目时,我将 Play 2 主页设置为 ~/bin/opt/play-2.0.4,它会创建项目,然后出现一个标题为“项目文件已更改”的对话框,上面写着“项目文件.../.idea/misc.xml 已外部更改。建议重新加载项目以使更改生效。"如果我忽略重新加载项目的提示,并且我在 app/ 上 ctl-ins,我会得到以下选项:

  1. Java 类
  2. Scala 类
  3. 文件

然后,我创建了一个包“models”和一个 scala 文件“Models.scala”,代码如下所示,“Hello”在语法上突出显示为红色,当我将鼠标悬停在代码上时,IDEA 表明它可以“ t 在对象 MyDB 中找到“Hello”:

package models

case class Hello(id: Int, name: String)

object MyDB {
  val hellos: List[Hello] = List(Hello(1, "Foo"), Hello(2, "Bar"))
}

我现在可以使用上面的代码创建 create app/models/Models.scala 并且没有突出显示错误。但是,当我转到项目设置-> 模块-> 依赖项时,它说'sbt-and-plugins' 的路径已损坏并且“模块'无标题':依赖项列表中的无效项目'scala-2.9.1'”

另一方面,如果我单击“确定”重新加载项目以使更改生效,那么如果我在 app/ 上 ctl-ins,我会得到以下选项:

  1. 文件
  2. 目录

如果我在命令行(以及 with-sources)中从 play 中生成想法,并且如果我编译项目(在我运行想法之前或之后),也会出现第二个选项。

作为进一步的提示,如果我不重新加载项目,应用程序目录将显示为蓝色,但是一旦我重新加载它,应用程序目录图标就会变成褐色(与其他图标一样)。

无论是我使用自己下载的play-2.0.4,还是创建新项目时让IntelliJ下载都是一样的。无论我有 Play 2.0 Support 的 playframework 还是只有 Play 2.0 Support 本身,都是一样的。

有关更多信息,我正在运行 Arch Linux、Oracle Java 1.7.0_09、scala-2.9.1.final、Play 2.0.4、IntelliJ 12.0 IU-123.72。插件:Scala (0.6.371)、Play 2.0 Support (0.1.86)、Playframework Support(无论有没有这个,我都会遇到同样的错误)。

更新:

这里是stacktracehttp://pastebin.com/uWEpv5Gd,显示IDEA在创建项目时抛出了异常,如下:

[  87553]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.progress.util.ProgressWindow$MyDialog$1@3b5a26d6,notifier=null,catchExceptions=false,when=1355073846201] on sun.awt.X11.XToolkit@1bd172ba

【问题讨论】:

  • 你花了很大力气描述你的情况,但实际上你并没有问任何问题。
  • 使用非常相似的元素我无法重现您的问题(在 Mac 上),抱歉:/ 也许其他人会找到原因
  • biesor:什么 jdk 版本和构建,你在运行?我的下一个想法是它与 1.7.0_09 不兼容
  • OpenJDK 运行时环境(构建 1.7.0-ea-b211),反正我也在用 Apple 的 1.6.0 测试以前版本的 Idea 12 (Leda),我也不记得这些问题

标签: scala intellij-idea playframework-2.0


【解决方案1】:

我通常通过以下方式让 Play 项目在 IntelliJ 12 中运行:

  1. 使用 play new "projectname" 从终端创建项目
  2. 进入新文件夹“projectname”
  3. 运行游戏创意
  4. 使用 IntelliJ 打开该文件夹并启用语法突出显示

希望对你有帮助

【讨论】:

    【解决方案2】:

    问题不在于 JVM,而在于 Play 2.0 插件。我在 1.7 和 1.6 中使用各种 JVM 对其进行了测试,但仍然遇到同样的问题。我通过删除配置目录尝试全新安装 Intellij IDEA 12,它正在做同样的事情。当我使用 IDEA 12 创建一个新项目时,target 的目录结构如下所示:

    [ambantis@okosmos target]$ tree
    .
    ├── scala-2.9.1
    │   └── cache
    │       └── update
    │           ├── inputs
    │           └── output
    └── streams
        └── $global
            ├── ivy-configuration
            │   └── $global
            │       └── out
            ├── ivy-sbt
            │   └── $global
            │       └── out
            ├── project-descriptors
            │   └── $global
            │       └── out
            └── update
                └── $global
                    └── out
    
    13 directories, 6 files
    

    缺少的是 /target/scala-2.9.1/classes 和 /target/scala-2.9.1/classes_managed。解决方法如下:

    在构建过程之后,如果您看到一个显示“项目文件已更改”的对话框,如下所示:

    不要点击确定,而是转义。然后打开播放控制台并编译应用程序。此时它将起作用。您只会看到存在未使用的 jar 文件的错误,否则一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多