nao*_*oru 14 java eclipse playframework-2.0 playframework-2.1
我按照zentask教程编写了一个junit测试,测试不会从eclipse IDE运行它给出以下异常
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)
Run Code Online (Sandbox Code Playgroud)
我读了一下,发现有些人编辑了buils.scala,在main中添加了以下行:ebeanEnabled:= true
对我而言,它并没有关闭运行play clean编译的ide
有任何想法吗???
kol*_*len 15
有关于设置在IDE中运行的单元测试的博客文章.它建议在运行测试时将以下命令行添加到java:
-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar
Run Code Online (Sandbox Code Playgroud)
似乎Play没有附带ebean代理,它应该首先从Ebean网站下载(在主ebean包中).
我没试过.
Ebean用户指南也提到它(15.5.2 javaagent部分),甚至还有配置Eclipse的示例.
此外,为了加快增强速度,这可能会更好:
-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar;packages=models.*
Run Code Online (Sandbox Code Playgroud)
所以它只会考虑models.*(Play中ORM模型的默认包).
小智 6
您可以使用Avaje Ebean Eclipse插件:
http://www.avaje.org/eclipseupdate/site.xml
安装完成后,右键单击项目并选择"启用Ebean增强",激活Ebean增强功能.
| 归档时间: |
|
| 查看次数: |
4815 次 |
| 最近记录: |