Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java play framework 2.1 junit测试无法在eclipse中运行_Java_Eclipse_Playframework 2.0_Playframework 2.1 - Fatal编程技术网

Java play framework 2.1 junit测试无法在eclipse中运行

Java play framework 2.1 junit测试无法在eclipse中运行,java,eclipse,playframework-2.0,playframework-2.1,Java,Eclipse,Playframework 2.0,Playframework 2.1,我在学习zentask教程并编写了junit测试, 测试不会从EclipseIDE运行,它会给出以下异常 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.ebeanint

我在学习zentask教程并编写了junit测试, 测试不会从EclipseIDE运行,它会给出以下异常

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.<init>(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)
javax.persistence.PersistenceException:java.lang.IllegalStateException:Class[Class play.db.ebean.Model]得到了增强,[Class models.User]没有得到增强—(您不能混合!!)
在com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475)
位于com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138)
位于com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
位于com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
位于com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
位于com.avaje.ebeaninternal.server.core.InternalConfiguration.(InternalConfiguration.java:124)
位于com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
位于com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
我读了一些书,发现对一些人来说 编辑buils.scala在main中添加以下行有助于:ebeanEnabled:=true

对我来说,关闭运行play clean compile的ide并不是件容易的事

有什么想法吗?

关于设置在IDE中运行的单元测试。建议在运行测试时使用的java中添加以下命令行:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar
似乎Play不是ebean代理附带的,它应该首先从ebean网站下载(在主要的ebean包中)

我没有试过

还提到了它(15.5.2JavaAgent部分),甚至还有配置Eclipse的示例

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

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

因此,它将只查看
模型。*
(ORM模型的默认软件包正在使用)。

当我试图从扩展模型的一个类的声明中删除公共修饰符时,出现了这个错误


我使用了一个模型来创建一个“直通”表(与附加信息的多对多关系),因此受保护的访问是有意义的。也许还有另一种方法可以做到这一点,但是播放javadoc是相当稀少的。

您可以使用Avaje Ebean Eclipse插件:


安装完成后,右键单击您的项目并选择Enable Ebean enhancement来激活Ebean enhancement。

我在Play 2.1.5中使用avaje-ebeanrom-agent-3.2.2.jar尝试了这一点,但除了在控制台中给出以下消息外,它似乎没什么作用:transform>cls:Play/db/Ebean/Model msg:。。。忽略字段\u ebean_intercept@Splaktar请使用jar ebean-2.7.3-agent.jar,它将工作(现在使用play 2.2.6)升级到play 2.3.7,现在一切正常!