玩框架2.1 junit测试不能从eclipse工作

我按照zentask教程编写了一个junit测试,测试不会从eclipse IDE运行,它给出了以下exception

javax.persistence.PersistenceException: java.lang.IllegalStateException: Class [class play.db.ebean.Model] is enhanced and [class models.User] is not - (you can not mix!!) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252) at com.avaje.ebeaninternal.server.core.InternalConfiguration.(InternalConfiguration.java:124) at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210) at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64) 

我读了一下,发现有些人编辑了buils.scala,在main中添加了以下行:ebeanEnabled:= true

对我来说它没有关闭运行play clean编译的ide

有任何想法吗???

有关于设置unit testing以在IDE中运行的博客文章 。 它建议在运行测试时使用以下命令行添加:

 -javaagent:/path/to/ebean/ebean-2.7.3-agent.jar 

似乎Play没有附带ebean代理,它应该首先从Ebean网站下载(在主ebean包中)。

我没试过。

Ebean用户指南也提到它( 15.5.2 javaagent部分),甚至还有配置Eclipse的示例。

此外,为了加快增强速度,这可能会更好:

 -javaagent:/path/to/ebean/ebean-2.7.3-agent.jar;packages=models.* 

所以它只会考虑models.* (Play中的ORM模型的默认包)。

您可以使用Avaje Ebean Eclipse插件:

http://www.avaje.org/eclipseupdate/site.xml

安装完成后,右键单击项目并选择“启用Ebean增强”,激活Ebean增强function。

当我试图从扩展Model的类之一的声明中删除public修饰符时,我收到此错误。

我正在使用一个模型来制作一个“通过”表(与其他信息有多对多的关系),因此受保护的访问是有意义的。 也许还有另一种方法可以做到这一点,但是javadoc游戏非常稀疏。