java - 错误读取注解玩框架2.2

标签 java playframework-2.2

我已经按照 Java 指南(教程“ZenTasks”)开始学习 Play Framework。一切都很顺利,直到我发现这个错误:Error reading annotations for models.Task

package models;

import java.util.*;
import javax.persistence.*;
import play.db.ebean.*;

@Entity
public class Task extends Model {

    @Id
    public Long id;
    public String title;
    public boolean done = false;
    public Date dueDate;
    @ManyToOne
    public User assignedTo;
    public String folder;
    @ManyToOne
    public Project project;

    public static Model.Finder<Long,Task> find = new Model.Finder(Long.class, Task.class);


    public static List<Task> findTodoInvolving(String user) {
        return find.fetch("project").where()
                .eq("done", false)
                .eq("project.members.email", user)
                .findList();
    }

    public static Task create(Task task, Long project, String folder) {
        task.project = Project.find.ref(project);
        task.folder = folder;
        task.save();
        return task;
    }
}

错误信息

 @6hgmo097m - Internal server error, for (GET) [/] ->

play.api.UnexpectedException: Unexpected exception[RuntimeException: Error reading annotations for models.Task]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:148) ~[play_2.10.jar:2.2.1]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
    at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:110) ~[play_2.10.jar:2.2.1]
    at scala.util.Success.flatMap(Try.scala:200) ~[scala-library.jar:na]
Caused by: java.lang.RuntimeException: Error reading annotations for models.Task
    at com.avaje.ebeaninternal.server.deploy.parse.ReadAnnotations.readAssociations(ReadAnnotations.java:54) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1048) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:547) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:237) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:114) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:204) ~[avaje-ebeanorm.jar:na]
Caused by: java.lang.RuntimeException: Error with association to [class models.Project] from [models.Task.project]. Is class models.Project registered?
    at com.avaje.ebeaninternal.server.deploy.parse.AnnotationAssocOnes.readManyToOne(AnnotationAssocOnes.java:165) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.AnnotationAssocOnes.readAssocOne(AnnotationAssocOnes.java:63) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.AnnotationAssocOnes.parse(AnnotationAssocOnes.java:54) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.parse.ReadAnnotations.readAssociations(ReadAnnotations.java:45) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1048) ~[avaje-ebeanorm.jar:na]
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:547) ~[avaje-ebeanorm.jar:na]

最佳答案

有同样的错误,这(对我来说)是由于我的 @ManyToOne 相关类没有用 @Entity 注释标记(在你的情况下检查 用户项目)。还要确保这些类对 Task 的引用包含 @OneToMany 引用。

关于java - 错误读取注解玩框架2.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22397924/

相关文章:

java - 可以将 AWT 与 JavaFx 一起使用吗?

java - 要求给定类型的所有字段都由某个字段注释进行注释

java - 是否有用于查找/替换一段文本中所有行的公共(public)开头的正则表达式?

java - 二进制到浮点或 double 赋值错误

java - 如何添加java项目依赖玩framework 2.2.1 java项目

java - 在 postgresql 的 jpql 查询中参数化对象名称

java - 参数化类和方法 : making a method returns a correct type with java generics

scala - SecureSocial : Running DB IO in a separate thread pool

嵌套类的 json 编写器

scala-2.10 - 在 Play 2.2.1 框架中使用 BodyParser 和经过身份验证的请求