【问题标题】:How to make Eclipse see the changes in Play! compiled templates?如何让 Eclipse 看到 Play 中的变化!编译模板?
【发布时间】:2012-04-20 01:00:42
【问题描述】:

所以,我正在尝试使用 Eclipse 进行 Play 2。我创建了一个新项目,编译它,运行 eclipsify 并将其导入 Eclipse。到目前为止一切顺利。

我遇到的问题是,当我在 Scala 模板中进行更改时,我的 Java 控制器看不到它,并且 Eclipse 将代码标记为无效。例如:

我在索引模板中添加了第二个参数

@(message: String, nesto:Integer)

当我尝试从控制器渲染我的文件时,以下行显示错误,因为 Eclipse 仍然认为 index.render 需要一个字符串。

return ok(index.render("Your new application is ready.",2));

我在Eclipse中开启了workspace刷新,播放eclipsify自动将classes_managed目录添加到构建路径中。

【问题讨论】:

    标签: java eclipse scala playframework-2.0


    【解决方案1】:

    我做了以下事情:

    1. 和您一样,我打开了工作区自动刷新(在设置中,常规 -> 工作区,然后选择“使用本机挂钩或池化刷新”)
    2. 我从构建路径中删除了play eclipsify 生成的classes_managed 目录,并使用“添加外部类文件夹”手动添加了它

    然后它对我有用。 eclipsify 命令好像有bug。

    【讨论】:

    • 刚刚编辑了答案,因为我使用的是“添加外部类文件夹”而不是“添加类文件夹”
    • 还是不行。你用的是什么版本的 Eclipse?
    • sbteclipse 升级到版本 5.1.0(于 2017 年 1 月 12 日发布) - 它修复了这个错误。
    【解决方案2】:

    诀窍是让 Play 在后台自动构建(模板文件当前不是由 Eclipse 构建的,因此您需要 Play 为您翻译这些文件)。这一切都在这里详细解释:

    [死链接] http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

    [试试这个] http://scala-ide.org/docs/tutorials/play/index.html#installing-the-scala-ide-play2-plug-in

    【讨论】:

    • 我正在运行 Play with play ~run,所以它在后台构建模板。当控制器用 Scala 编写时,您发布的链接上的内容工作正常。
    • 对不起,我不知何故错过了控制器是用 Java 编写的。
    【解决方案3】:
    1. 在命令行上运行“play eclipse”
    2. 在 Eclipse 中,按 F5 刷新您的项目

    【讨论】:

    • 还要确保将 sbteclipse 升级到版本 5.1.0(于 2017 年 1 月 12 日发布) - 它修复了相关错误。
    【解决方案4】:

    对于带有 Eclipse Mars 的 Java Play Framework v2.4.6(激活器 v1.3.7):

    你试过@(message: String)(nesto: Integer)而不是@(message: String, nesto:Integer)吗?

    为了您的index.render() 不会出现“无法解决错误”,您可以将此<classpathentry kind="lib" path="target/scala-2.11/classes"/> 添加到您的.classpath 或右键单击您的项目-> 构建路径-> 配置构建路径-> 添加类文件夹并使其指向target/scala-2.11/classes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2021-08-16
      相关资源
      最近更新 更多