IntelliJ IDEA报告路由中的错误 我已经创建了一个项目,由activator new play scala intro play scala intro 在IDEA中,我单击了文件->从现有源导入项目,并选择了SBT

IntelliJ IDEA报告路由中的错误 我已经创建了一个项目,由activator new play scala intro play scala intro 在IDEA中,我单击了文件->从现有源导入项目,并选择了SBT,scala,intellij-idea,playframework,typesafe-activator,Scala,Intellij Idea,Playframework,Typesafe Activator,这是默认的项目结构: 我还尝试了来自的所有提示(建议用于播放2.2-2.3,而我有播放2.4)。但是我没有尝试将target/scala-*/classes\u managed添加到源代码中,因为我的项目不包含此文件夹 版本 我有安装了“Scala”和“Playframework支持”插件的Idea 14 Ultimate 播放框架:addSbtPlugin(“com.typesafe.Play“%”sbt插件“%”2.4.1”) scalaVersion:=“2.11.6” JetBrai

这是默认的项目结构:

我还尝试了来自的所有提示(建议用于播放2.2-2.3,而我有播放2.4)。但是我没有尝试将
target/scala-*/classes\u managed
添加到源代码中,因为我的项目不包含此文件夹

版本
  • 我有安装了“Scala”和“Playframework支持”插件的Idea 14 Ultimate
  • 播放框架:
    addSbtPlugin(“com.typesafe.Play“%”sbt插件“%”2.4.1”)
  • scalaVersion:=“2.11.6”

JetBrains尚未更新其Scala/Play插件,以反映Play2.4的新路由结构(例如,使用类而不是控制器的对象)。你可以忽略这些错误,运行应用程序,一切都会好起来

有关更多信息,请参阅正在进行的发行单。一条评论说:“这在最近的IntelliJ和Scala 1.6.27.1的EAP构建中得到了修复。而且IntelliJ EAP 15在当前状态下看起来非常好。”


你可以等Intellij15。同时,忽略IntelliJ 14和旧版本错误标记的错误。

我的IntelliJ IDEA版本是14.1.4,在
控制器之前添加
@
符号,如下所示:

GET         /                    @controllers.Application.index

IDE不会报告
无法解析…
消息。

查看此处2.4版的文档播放文档-它特别声明-

Play支持生成两种类型的路由器,一种是依赖注入路由器,另一种是静态路由器。默认为静态路由器,但如果您使用Play seed Activator模板创建了新的Play应用程序,您的项目将在build.sbt中包含以下配置,告诉它使用注入的路由器:

routesGenerator:=InjectedRoutesGenerator

因此,如果检查you build.sbt,它将有一行-

routesGenerator:=InjectedRoutesGenerator

指示默认路由器是依赖注入路由器

因此,为了避免错误,您必须将@附加到routes文件中的控制器,如下所述-

Play文档中的代码示例假定您正在使用注入路由生成器。如果不使用此选项,则可以通过在路由的控制器调用部分前面加上@符号,或者将每个控制器声明为对象而不是类,从而轻松地调整静态路由生成器的代码示例


实际上,
.scala
文件中也存在与路由相关的多个错误,这是很难忽略的。有没有办法获得旧版本的模板?(简单克隆
/templates/play scala intro
不起作用,因为在本例中省略了后处理)不幸的是,IntelliJ IDEA 15 EAP(build 142.2670.3)上仍然存在相同的错误。您的IDEA 15 EAP使用的是什么版本的scala插件?