当我在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,它会创建项目,然后会出现一个标题为“Project Files Changed”的对话框,其中显示“项目文件... /。idea / misc.xml已在外部进行了更改。建议重新加载项目以使更改生效。“如果我忽略重新加载项目的提示,并且我在app /上输入了ctl-ins,我会得到以下选项:
然后我创建了一个包'models'和一个scala文件'Models.scala',其代码如下所示,'Hello'语法突出显示为红色,当我将鼠标悬停在代码上时,IDEA表示它可以'在对象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'的路径破碎,“Module'无标题':依赖列表中的无效项'scala-2.9.1'”
另一方面,如果我点击'确定'重新加载项目以使更改生效,那么如果我在app /上输入,我会得到以下选项:
如果我在命令行玩游戏(以及with-sources),以及编译项目(在我运行想法之前或之后),也会出现第二个选项。
作为进一步的提示,如果我不重新加载项目,app目录会显示为蓝色,但是一旦我重新加载它,那么app目录图标就会变成褐色(就像其他人一样)。
我是否使用自己下载的play-2.0.4或者在创建新项目时是否要求IntelliJ下载它是一样的。我是否拥有Play 2.0支持的播放框架或者仅支持Play 2.0支持也是一样的。
有关详细信息,我正在运行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支持(0.1.86),Playframework支持(有和没有这个,我得到相同的错误)。
这是stacktrace http://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
答案 0 :(得分:1)
我通常会在以下内容中获得在IntelliJ 12中运行的Play项目:
希望这有帮助
答案 1 :(得分:1)
问题不在于JVM,问题在于Play 2.0插件。我在1.7和1.6中使用各种JVM进行了测试,但仍然遇到了同样的问题。我通过删除配置目录尝试全新安装Intellij IDEA 12,它也在做同样的事情。当我使用IDEA 12创建一个新项目时,这就是目标的目录结构:
[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。解决方案如下:
在构建过程之后,如果您看到一个对话框,显示“Project Files Changed”,如下所示:
不要单击“确定”,而是“转义”。然后打开播放控制台并编译应用程序。此时它会起作用。您将只看到有未使用的jar文件的错误,但否则一切都会正常工作。