【问题标题】:Play Framework + Eclipse: undefined method for ReverseApplicationPlay Framework + Eclipse:ReverseApplication 的未定义方法
【发布时间】:2012-06-22 20:58:01
【问题描述】:

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

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

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

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

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

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

有什么我可以做的吗?

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

非常感谢!

【问题讨论】:

    标签: eclipse playframework


    【解决方案1】:

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

    因此,您最好的选择是配置 Eclipse,使其 automatically refresh the workspace 并确保文件夹“target/scala-2.9.1/classes_managed”在您的构建路径中(应该由“eclipsify”完成命令)。

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

    【讨论】:

    • 太棒了!运行“clean”、“compile”、“eclipsify”并刷新项目就可以了。奇怪的是“target/scala-2.9.1/classes_managed”目录已经在构建路径上。总之,问题解决了。谢谢! :)
    • 类似的结果。我运行了“play clean then play compile”,最后“play eclipse”,这对我来说完成了这项工作。“Eclipsify”在 2.1 版上对我不起作用
    • 是的,在 Play 2.1 中它已被替换为“eclipse”。我更新了答案。感谢您的指针:-)
    【解决方案2】:

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

    【讨论】:

    • +1 在 Scala IDE 3.0.2 中为我工作。没有清理、编译和刷新。
    • 关闭并重新打开 Eclipse (indigo) 解决方案对我有用。
    【解决方案3】:

    之前的建议都对我不起作用,但是当我对 target 文件夹进行刷新时,我的视图引用上的红色下划线消失了。

    【讨论】:

      【解决方案4】:

      播放命令曾经被称为“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.
      

      【讨论】:

        【解决方案5】:

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

        使用Eclipse Kepler,玩转framework 2.2.2

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-06-27
          • 1970-01-01
          • 1970-01-01
          • 2015-04-29
          • 2013-07-23
          • 1970-01-01
          • 2014-08-21
          相关资源
          最近更新 更多