play2框架我的模板没有看到.:package views.html不存在

Bam*_*ylo 9 java model-view-controller templates scala playframework

问题是控制器没有看到我想要使用的模板:

[etl_admin] $ compile [info]编译3个Scala源和4个Java源到D:\ ECLIPSE_WORKSPACES\play2_apps\etl_admin\target\scala-2.9.1\classes ... [错误] D:\ ECLIPSE_WORKSPACES\play2_apps\etl_admin\app\controllers\EtlWorkflowSeqNodeController.java:7:错误:包views.html.etlworkflowseqnode不存在[error] import views.html.etlworkflowseqnode.list; [错误]
^ [错误] D:\ ECLIPSE_WORKSPACES\play2_apps\etl_admin\app\controllers\EtlWorkflowSeqNodeController.java:14:error:找不到符号

[error] list.render(EtlWorkflowSeqNode.findTree(jobId))[error] ^ [error] symbol:variable list [error]
location:class EtlWorkflowSeqNodeController [error] 2 errors [error] {file:/ D:/ ECLIPSE_WORKSPACES/play2_apps/etl_admin /} etl_admin/compile:compile:javac返回非零退出代码[错误]总时间:7秒,完成05.06.2012 17:14:44

这是控制器代码:

package controllers;

import play.mvc.Controller;
import play.mvc.Result;
import models.EtlWorkflowSeqNode;
import play.db.jpa.Transactional;
import views.html.etlworkflowseqnode.list; /*LINE #7, Eclipse really tells that there is no such package*/

public class EtlWorkflowSeqNodeController  extends Controller {

    @Transactional
    public static Result list(Integer jobId) {
        return ok(
            list.render(EtlWorkflowSeqNode.findTree(jobId))
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

我用项目树附加了一个图像.有这样的包,有名为"list"的模板. 我的日食 我做错了什么

Bam*_*ylo 14

哦,问题很简单!*classes_managed*(此文件夹保存已编译的scala模板)未使用新添加的模板进行更新.我确实试着昨天打电话编译,它没有帮助.新包中的新模板未编译.今天早上我打电话给干净的编译 aaand ...万岁!我确实得到了编译模板和丢失包的问题消失了(不要忘记刷新Eclipse项目,强制它从文件系统更新exisitng项目结构.它喜欢缓存所有内容.)

抱歉令人不安,看起来我在阅读文档时并不专心:(


Nic*_*per 7

问题是Eclipse没有看到src_managed文件夹,它由play框架动态更新.

转到项目→属性→java构建路径→库(它是一个选项卡)→添加外部类文件夹

然后选择src_managed文件夹,该文件夹应位于与项目相同的目录中的target-> scala-xxx文件夹中.

这将把src_managed添加到您的构建路径,Eclipse现在将了解这些模板是有效的.

您可能需要在play框架控制台中运行'play clean compile'然后您可能需要在eclipse中运行project - > clean