2015-01-20 69 views
0

我有一个Vaadin 7.3.8 portlet在Liferay 6.2 CE上运行,使用JPA 2.1和EclipseLink 2.5.2在Maven中开发。在我的本地Mac OS X盒子上使用Liferay 6.2/Glassfish 3.2软件包和MySQL 5.6和MySQL JDBC 5.1.34连接器和JDK 1.7_71时,portlet按预期运行,没有JPA错误。我没有在Glassfish中使用数据源。我让EclipseLink处理连接池,因此Glassfish上不需要安装任何数据源。JPA/Eclipselink在目标服务器上没有持久性提供者EntityManager

目标环境是CentOS 6.4,使用相同的堆栈部署接受JDK 1.7_72。当我将portlet部署到目标环境中,我得到了可怕的:

javax.persistence.PersistenceException:命名为EntityManager的无持久性提供商XXXXXXX

我已经检查CLASSPATH和我知道的一切基于所有检查在这个论坛上JPA非常翔实的帖子。没有什么解决我的问题,让这个portlet在目标环境中运行。

有没有人遇到这种类型的问题?百思不得其解!

回答

0

Glassfish,运行Liferay的应用程序服务器,仍然需要访问EclipseLink JAR以使用API​​。

一定要在你的Glassfish的领域这三个文件到/lib/ext/文件夹或应用程序类路径:

  • persistence.jar
  • eclipselink.jar
  • 的mysql-connector.jar
相关问题