我使用激活器
activator new my-project-name
创建了一个新的 Play Framework 项目,然后选择了 play-java
模板,该项目创建时没有错误。
然后我将该项目作为 SBT 项目导入到我的 IDE IntelliJ 中。导入项目时,会显示一个弹出窗口:
SBT compilation for play framework 2.x disabled by default
。
在 IntelliJ 项目的面板上,它没有显示所有(主要是带有代码的文件)文件。只有少数几个。
build.sbt file
看起来充满了编译错误(几乎所有行都带有红色下划线)。
这是
build.sbt
文件
name := """my-project-name"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs
)
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
fork in run := true
我可以使用
activator ui
编译并运行代码,没有错误。那么,为什么 IntelliJ 没有完全导入该项目,并且它向我显示“默认情况下禁用 Play Framework 2.x 的 SBT 编译”消息?
我用谷歌搜索了一下,找不到任何与此相关的提示,所以我有点迷失在这里。
我在 IntelliJ 中关闭了项目并删除了项目文件夹。关闭 IntelliJ 并使用
activator
我再次创建了相同的项目。使用 activator ui
我编译了该项目。然后我启动了 IntelliJ,系统提示我打开一个项目、创建一个新项目或导入一个项目。
选择导入项目并执行正常的“导入项目步骤”,IntelliJ 轻松导入项目。 但是如果我尝试在 IntelliJ 上打开项目时导入项目,我会遇到同样的问题,导致我提出这个问题。也许这是 IntelliJ 上的一个错误?
与用户3384225的答案类似的答案发布在这里:
他们说:
我也是新手,直到昨天才面临同样的问题。可能您正在尝试通过“文件”->“打开”打开该项目。
尝试以下步骤:-
文件->新建->来自现有源的项目->从使用激活器创建的项目中选择build.sbt->从外部模型导入项目,然后从选项中选择SBT->确定。
导入文件并创建 intellij idea 项目所需的设置需要一些时间。 我使用的是intellij idea 14.1.5。它对我有用,希望对你也有用。
对于当前项目,您可以使用
File->Invalidate Caches/Restart..
修复此问题
很可能你已经解决了你的问题,但只是为了帮助别人 您只需要做的是 -> 检查“首选项”->“语言和框架”->“Play2”->“编译器”下给出的选项“为该项目使用 Play 2 编译器”
关闭项目,然后将项目导入为sbt项目。 Intellij 将自动转储并索引项目依赖项。
今天偶然发现同样的问题。通过擦除
~/.IntelliJIdea14
目录解决。不幸的是,我尝试过的任何其他方法都没有帮助。
只需使用:文件->新建->来自现有源的项目->从使用激活器创建的项目中选择build.sbt->确定。 就完成了。