这里的问题是容器 在运行时 提供了JPA 2.0 。排除提供的依赖项
pom.xml仅在编译时有效。要解决此问题,您必须在容器中配置类加载。
OpenShift JavaEE 6支持基于JBoss
AS7。从AS7文档中的类加载:
jboss-deployment-structure.xml是JBoss特定的部署描述符,可用于以细粒度方式控制类加载。应将其放在meta-
INF(或用于Web部署的WEB-INF)的顶级部署中。它可以执行以下操作:Prevent automatic dependencies from being added Add additional dependencies ...
因此,您需要添加自定义
jboss-deployment-structure.xml文件以将其排除
hibernate-jpa-2.0-api在自动添加之外。
根据OpenShift的文档:
<jboss-deployment-structure> <deployment> <exclusions> <module name="javax.persistence.api" /> </exclusions> </deployment></jboss-deployment-structure>



