如何在Intellij 13中运行play框架示例?

时间:2013-12-12 02:29:13

标签: scala intellij-idea playframework

我正在使用Intellij 13 Ultimate并希望创建一个Play Framework示例。但是我无法构建这个项目,因为它总是抛出这个错误:

object index is not a member of package views.html
Ok(views.html.index("Your new application is ready."))

我在Mac和Windows平台上都试过这个,但错误始终是一样的。

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:11)

生成工作正常,所有路径都正确添加到构建中。但是,路径(尚未)通过插件(scala + playframework)进行编译,因此播放生成的反向路由类不适用于intellij。 您将遇到与模板相同的问题。

如果你运行一个play compile(或一个sbt compile),那么将生成这些类,intellij应该可以选择它们并编译你的项目。

答案 1 :(得分:1)

我在这里找到了一个技巧。

如果使用激活器命令行激活器[ new my_first_project play-scala ]生成play-scala项目。您将获得以下sbt构建文件。

name := """my_first_project"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test
)

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"

但如果您使用NewProject-> Scala-Play 2.x从intellj创建项目,您将获得以下内容。

name := "my_second_project"

version := "1.0"

lazy val `my_second_project` = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq( jdbc , cache , ws   , specs2 % Test )

unmanagedResourceDirectories in Test <+=  baseDirectory ( _ /"target/web/public/test" )  

resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"  

fork in run := false

组合后。忽略名称。我将for in run设置为false

name := "my_second_project"

version := "1.0"

lazy val `my_second_project` = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq( jdbc , cache , ws   , specs2 % Test )

unmanagedResourceDirectories in Test <+=  baseDirectory ( _ /"target/web/public/test" )  

resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"  

fork in run := false

这样做之后。使用Intellj打开激活器生成的项目,使用Play 2.x run配置运行。一切顺利。

顺便说一下,如果在更改sbt文件之前打开激活器生成的项目。您可能需要rm -r .idea

希望有所帮助。

答案 2 :(得分:0)

在新项目根目录中运行“play idea”为我修复了它。该项目应在重新加载后编译并运行。

我对通过Idea的New Project菜单创建的项目只有这个问题。

答案 3 :(得分:-2)

我遇到了同样的问题:在Idea 13中有突出显示错误,但在Idea 12中一切正常。原因是Idea 13没有Scala插件,所以现在不可能让它在Idea 13中运行。

解决方案是安装Idea 12,转到偏好设置 - &gt;插件,在查找框中键入“Scala”,然后安装Scala插件。