Play Framework + Eclipse:ReverseApplication的未定义方法

Vic*_*tto 7 eclipse playframework

在使用Play框架和Eclipse时,我遇到了一些麻烦(更像是一种烦恼,真的很麻烦).

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

public static Result index() {
  return redirect(routes.Application.tasks());
}
Run Code Online (Sandbox Code Playgroud)

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

对于ReverseApplication类型,方法tasks()未定义

用虚线红线强调任务.是否有理由这样做?我已经尝试清理和编译项目(通过Play终端)并在Eclipse中刷新项目,但无济于事.

有什么我可以做的吗?

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

非常感谢!

nde*_*rge 10

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

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

如果在所有这些步骤之后它不起作用,请尝试"清理","编译"和"eclipsify"(对于Play 2.0.x)或"eclipse"(对于Play 2.1.x)并刷新您的项目.

  • 真棒!运行"清理","编译","eclipsify"并刷新项目就可以了.奇怪的是,"target/scala-2.9.1/classes_managed"目录已经在构建路径上.无论如何,问题解决了.谢谢!:) (2认同)

bsm*_*smk 6

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