Scala IDE 4.0.0认为开箱即用的Play Framework 2.3.7程序存在错误

时间:2015-01-23 07:28:39

标签: scala scala-ide

我通过Typesafe Activator创建了一个Play Framework程序(因此它完全遵循模板)。

我使用sbteclipse-plugin 3.0.0版创建了Eclipse项目并将其导入Scala IDE 4.0.0。这些都是撰写本文时的最新版本。

Scala IDE似乎肯定支持Play Framework。它具有自定义格式的语法突出显示,包括路由文件和模板。然而,它似乎无法从控制器中找到视图。特别是,对views.html.index的调用会触发错误:“对象索引不是包views.html的成员”。

enter image description here

我尝试使用本机挂钩或池化为detailed here来启用刷新,但它没有任何影响。

我应该注意,虽然代码已在命令行中编译(使用activator ~run),但它尚未在Scala IDE中编译,因为我不知道如何(它似乎不在任何地方记录。

我该怎样做才能摆脱这些错误的错误?

编辑:运行activator clean ~run后,我有另一个错误:在解决构建路径错误之前,无法构建项目。关于这些构建路径错误的内容没有进一步的细节。

6 个答案:

答案 0 :(得分:24)

更新:只需升级到sbteclipse版本5.1.0即可,所有内容都可以直接使用。另外,请务必遵循the Play documentation on how to set up Eclipse/ScalaIDE


sbteclipse中的a known bug,很快就会will be fixed

现在,您可以将以下行添加到build.sbt:

EclipseKeys.createSrc := EclipseCreateSrc.All

杀死SBT控制台并再次运行sbt eclipse。这应该将以下行添加到项目文件夹中的.classpath文件中作为解决方法:

<classpathentry kind="src" path="target/scala-2.11/twirl/main"/>

刷新Eclipse项目以获取更改。

答案 1 :(得分:12)

我有同样的问题,也是Scala IDE 4.0.0。我遵循了mkurz的指导,他们的工作就像一个魅力。但是,我没有手动更改项目文件夹中的.classpath文件,而是使用了Eclipse界面:

  • 在主窗口的顶部菜单中,点击Project,然后点击Properties
  • Properties窗口中,点击Java Build Path选项(选项列表位于左侧)
  • Source标签中,点击Add Folder...按钮。
  • Source Folder Selection窗口中,选择target/scala-2.11/twirl/main文件夹,以便它包含在编译路径中。点击Ok按钮。
  • 点击Ok窗口中的Properties

现在项目应该编译得很好:)。有了这个,我就能完成the play setup example in Scala IDE website

答案 2 :(得分:4)

我首先尝试了@mkurz解决方案,但也遇到了与@matt相同的错误。我变得很沮丧,因为我无法生成eclipse项目而无需转到Eclipse项目属性来手动修复构建错误。经过一番调查,我发现了完全消除所有错误的解决方案。添加你的build.sbt:

unmanagedSourceDirectories in Compile <+= twirlCompileTemplates.target

如果这对您不起作用,您也可以使用:

unmanagedSourceDirectories in Compile <+= target.zipWith(scalaBinaryVersion) { (b,v) => b / s"scala-$v/twirl/main" }

再见,构建错误!

答案 3 :(得分:0)

我收到了同样的错误消息。 你在eclipse中使用java8作为jre吗? 从java8切换回java7后,一切正常。

答案 4 :(得分:0)

如果按照Mkurz的说明(添加EclipseKeys.CreateSrc ...)后,您的问题仍未解决,请点击Project - &gt;属性 - &gt; Java构建路径。查看源文件夹选项卡。

您可能会找到一个名为... / src_managed / main的重复文件夹(感谢Matt)。如果是这样,请关闭项目。从.classpath文件(位于激活器/ SBT项目目录的基础中)中删除两个../src_managed/main条目中的一个。重新打开并清理项目,你应该好好去。

答案 5 :(得分:0)

对我来说,事实证明Scala IDE中已安装的JRE是openjdk,将其更改为Oracle Java 8并且运行正常。