新创建的 scala.html视图在 Play Framework 2.x 中无法识别

2022-09-03 09:45:11

我使用的是 Play Framework 2.0.1。我使用“播放新”命令创建了一个Java应用程序。默认情况下,将创建两个视图:index.scala.html 和 main.scala.html

我已经完成了一些示例教程应用,这些应用允许我呈现这些视图。但是,当我添加新视图(默认情况下在app/views/中)时,我收到一个编译错误,找不到它:

public static Result getAllCars() {
    List<Car> cars = Car.getAllCars();
    return ok(simpleCarView.render(cars));
}

我可以做

import views.html.index;
import views.html.main;

但不是

import views.html.simpleCarView; 

控制台中出现错误:

cannot find symbol
[error] symbol : variable simpleCarView
[error] location: class controllers.Application

我尝试过在文件目录和 eclipse 中添加 scala.html视图,但由于某种原因,找不到它们。我还尝试重新启动默认的Netty服务器。

关于导致这种情况的原因的任何想法?


答案 1

这些视图不是由 Eclipse 编译的,但只要 target\scala-2.9.1\classes_managed 目录位于 eclipse 项目构建路径中,就可以在 Play 编译后通过 eclipse 看到这些视图。

尝试在命令行上运行“play compile”(或者如果您已经在 Play 控制台中,则只运行“编译”),然后在 eclipse 中刷新项目(选择项目并按 F5 键)


答案 2

对于IntelliJ 12用户:我升级到Play 2.1,这破坏了我的Play IntelliJ支持插件。这导致IntelliJ无法识别:

import views.html.*;

因此,当点击优化我的导入时,它被删除了。此结果导致在运行时出现编译错误,因为未导入视图:cmd + oplay clean compile

[error] symbol  : variable index
[error] location: class controllers.Application
[error]         return ok(index.render());
[error]                   ^
[error] 1 error
[error] (compile:compile) javac returned nonzero exit code
[error] application -

所以我卸载了插件,重新启动了IntelliJ和中提琴,一切都像一个魅力一样工作!


推荐