7

在将 Play Framework 与 Eclipse 一起使用时,我遇到了一些麻烦(实际上更像是一种烦恼)。

我正在按照本教程开始使用 Play。在教程的某个时刻,它要求我们输入以下代码:

public static Result index() {
  return redirect(routes.Application.tasks());
}

这在运行应用程序时按预期工作。问题是 Eclipse 不喜欢它。它说:

未为 ReverseApplication 类型定义方法 tasks()

同时用红色虚线强调任务。发生这种情况有原因吗?我尝试清理和编译项目(通过 Play 终端)并在 Eclipse 中刷新项目,但无济于事。

有什么我可以做的吗?

我正在使用 Eclipse Juno,构建 20120606-2254

太感谢了!

4

5 回答 5

10

由于视图是 Scala 代码,它们由 Scala 编译器(即通过 sbt 的 Play 控制台)编译。所以 Eclipse 无法编译并找到这些。

因此,您最好的选择是配置 Eclipse,使其自动刷新工作区并确保文件夹“target/scala-2.9.1/classes_managed”在您的构建路径中(应该由“eclipsify”命令完成) .

如果在所有这些步骤之后仍然无法正常工作,请尝试“clean”、“compile”和“eclipsify”(适用于 Play 2.0.x)或“eclipse”(适用于 Play 2.1.x)并刷新您的项目。

于 2012-06-24T18:41:39.597 回答
6

在 Eclipse 中关闭并打开您的项目。这对我有用(Eclipse Juno)。

于 2012-11-28T16:46:03.807 回答
2

以前的建议都不适合我,但是当我对目标进行刷新时文件夹进行刷新时,我的视图引用上的红色下划线消失了。

于 2012-12-04T17:32:52.023 回答
1

播放命令曾经被称为“eclipsify”。它现在被称为“日食”。

通常,我会执行以下操作,并且它与 Eclipse 配合得很好

-at the start of the day, start the play console in your project dir and do 'clean' and 'run'  
-open a web browser point to the app (localhost:9000)  
-launch eclipse  
-make code changes...  
-Play will rebuild the app whenever code changes occur. So refreshing the app in
   the browser.  
-back in eclipse, Refresh the project to reload the files that play rebuild just made.
于 2014-05-05T20:40:09.423 回答
0

我知道@nico_ekito 的回答已经过去一年了,但我只是想补充一下。添加 /target/scala-2.10/classes_managed 并确保 Eclipse 自动刷新为我修复的工作区。谢谢@nico_ekito

使用Eclipse Kepler,玩框架2.2.2

于 2014-05-05T19:48:29.133 回答