无法在Ebean服务器中注册类(Play Framework 2 - Java)

pla*_*ade 7 java playframework ebean playframework-2.2

运行Play Framework 2.2.x(Java)项目时出现以下错误:

Configuration error
Cannot register class [models.SomeClass] in Ebean server
Run Code Online (Sandbox Code Playgroud)

浏览器中显示的错误消息将我指向我的行ebean.default="models.*",application.conf控制台告诉我我的java.lang.VerifyError: Bad type on operand stack一个方法.对于这种情况发生的方法没有什么特别之处,现在已经发生了一些方法.

我发现使用静态方法可以避免错误:即替换someObject.doJob()SomeClass.doJob(someObject).我已经使用过这个hack,它可以工作,但是我不是很高兴我的所有方法都应该是静态的.

有没有人遇到同样的问题,并找到了解决方法(不使方法静态)?

pla*_*ade 5

已解决:事实证明,有问题的方法都被引用标记为final的字段.显然,Play Framework/Ebean不喜欢Entity类中的final字段.final从这些字段中删除关键字后,问题就消失了.

  • 你是怎么弄清楚哪个领域有问题的?我不使用`final`但我仍然得到这个错误. (2认同)