如何让Eclipse看到Play中的变化!编译模板?

时间:2012-04-06 11:43:25

标签: java eclipse scala playframework-2.0

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

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

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

@(message: String, nesto:Integer)

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

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

我在Eclipse中打开工作区刷新,然后播放eclipsify会自动将classes_managed目录添加到构建路径。

4 个答案:

答案 0 :(得分:6)

我做了以下事情:

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

答案 1 :(得分: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

答案 2 :(得分:4)

  1. 在命令行上运行'play eclipse'
  2. 在Eclipse中,通过点击F5
  3. 刷新您的项目

答案 3 :(得分:1)

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

您是否尝试过此@(message: String, nesto:Integer)而不是@(message: String)(nesto: Integer)

这样你就不会有#34;无法解决错误&#34;使用index.render(),您可以将此<classpathentry kind="lib" path="target/scala-2.11/classes"/>添加到.classpath或右键点击您的项目 - &gt;构建路径 - &gt;配置构建路径 - &gt;添加类文件夹并使其指向target/scala-2.11/classes