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

所以,我正在尝试使用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目录添加到构建路径中。

我做了以下事情:

  1. 正如您所做的那样,我打开工作区自动刷新(在设置中,常规 – >工作区,然后选择“使用本机挂钩或池进行刷新”)
  2. 我从我的构建路径中删除了classes_managed生成的classes_managed目录,并使用“Add external class folder”手动添加了该目录。

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

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

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

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

而不是@(message: String, nesto:Integer) ,你试过这个@(message: String)(nesto: Integer)

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