java.lang.NoSuchMethodError:javax.persistence.EntityManager.getMetamodel()

时间:2013-01-09 09:46:15

标签: jpa glassfish openxava

如何使用OpenXava 4.6与Glassfish 2.2修复此错误:

javax.servlet.ServletException: java.lang.NoSuchMethodError: javax.persistence.EntityManager.getMetamodel()Ljavax/persistence/metamodel/Metamodel

尝试从浏览器访问我的测试模块时出现此错误。

http://localhost:8080/testmod/xava/module.jsp?application=testmod&module=test

2 个答案:

答案 0 :(得分:1)

在我的情况下,使用带有glassfishESBv22的openxava 4.6给了我错误java.lang.NoSuchMethodError:javax.persistence.EntityManager.getMetamodel ...所以当我用OX4.6将服务器更改为默认的tomcat包时,它工作正常。这意味着它是glassfish服务器问题...最后我使用了最新的glassfish服务器v3.1.2,它也运行良好。所以问题解决了......只有将服务器更改为最新的服务器才是解决方案。

答案 1 :(得分:0)

OpenXava 4.6使用JPA2,而您使用的应用程序服务器使用JPA1。如果您需要使用旧的应用程序服务器,则可以配置类加载器,以便使用包含OpenXava应用程序的JPA引擎。