Java 播放框架-包不存在

Java 播放框架-包不存在,java,playframework,compilation,Java,Playframework,Compilation,当我跑步时: compile 从play console中,我得到以下错误: [info] Compiling 10 Scala sources and 7 Java sources to C:\Development\play\project\target\scala-2.10\classes... [error] C:\Development\play\project\app\com\me\project\controllers\Application.java:27: error: pa

当我跑步时:

compile
从play console中,我得到以下错误:

[info] Compiling 10 Scala sources and 7 Java sources to C:\Development\play\project\target\scala-2.10\classes...
[error] C:\Development\play\project\app\com\me\project\controllers\Application.java:27: error: package com.me.project.views does not exist
[error]                 return ok(com.me.project.views.html.index(null));
[error]                                              ^
[error] 1 error
[error] (compile:compile) javac returned nonzero exit code
[error] Total time: 4 s, completed 23-Mar-2014 19:00:24
但是,如果我将该行更改为
return ok(“something”)
,那么它将编译,并且我可以看到视图文件夹是在以下位置生成的:

C:\Development\play\project\target\scala-2.10\project\target\scala-2.10\classes_managed\com\me\project\views\html
com.me.project.views
看来这个包应该存在,不是吗?我不太确定我做错了什么

更新1

我的源模板位于以下位置:

C:\Development\play\project\target\scala-2.10\project\target\scala-2.10\classes_managed\com\me\project\views\html
com.me.project.views
奇怪的是,当我可以编译源代码时(正如我上面提到的),eclipse会在
com.nat.aegis.views.html
上自动完成,我可以在自动完成对话框中看到一个
index
类。我已经尝试过多次清理、刷新和重新编译,但没有效果。

如中所述,引入HTML模板文件将导致在
views.HTML
包中生成类。然后,您将模板组织到包中的方式将按播放方式复制到下面的
views.html

因此,我认为您的回报声明应如下所示:

return ok(views.html.com.me.project.index(null)); 

(无可否认,这并不能解释您在目标目录中看到的文件夹结构。)

解决方案

好的,我正在将一个Scala项目移植到Java,我注意到以下几点:

在Scala项目中,引用模板的方式与我在原始问题示例中的方式相同,但这在Java中是不正确的,行应该是:

return ok(com.me.project.views.html.index.render(null));
编译器错误并没有真正暗示这一点,但@avik的反应让我更仔细地查看了文档(我的大脑仍处于Scala模式)


在我的例子中,我在视图文件夹中添加了一个名为developer的文件夹。我在这个文件夹中添加了一个tables.scala.html文件

在我的控制器中,我会说:

public static Result main() {

    return ok(developer.tables.render());
}

在运行期间,编译器说“开发者包不存在”。在向项目添加新视图和类时(使用eclipse),我通常会运行clean、reload和update

过了一段时间,技巧是这样引用这个视图

return ok(views.html.developer.tables.render())
如果你问我的话,这似乎不是很积极


但这是可行的,我希望它也适用于其他人。

感谢您的回复,不幸的是,这似乎无法解决问题。检查我的更新1以查看我的源代码所在的位置,这与我使用scala的另一个项目相同(我正在进行移植,scala太多了,无法同时学习和开发此项目)。在该项目中,尽管具有相同的结构,但我可以使用
com.me.project.views.html.index()