22

所以,我正在用 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 中开启了工作区刷新,播放 eclipsify 自动将 classes_managed 目录添加到构建路径中。

4

4 回答 4

6

我做了以下事情:

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

然后它对我有用。该命令似乎存在错误eclipsify

于 2012-04-06T12:42:09.153 回答
5

诀窍是让 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

于 2012-04-06T18:35:04.910 回答
4
  1. 在命令行上运行“play eclipse”
  2. 在 Eclipse 中,通过按 F5 刷新您的项目
于 2014-01-09T16:41:21.810 回答
1

对于带有 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"/>.classpathtarget/scala-2.11/classes

于 2016-02-08T15:57:15.023 回答