weblogic.management.DeploymentException: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()

普雷纳沙

在 Weblogic: 12.2.1 上部署 EJB 应用程序时,我面临异常:

“weblogic.management.DeploymentException:java.lang.NoSuchMethodError:javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode”

我在persistence.xml中有以下配置来指定持久性提供者

<persistence-unit name="entityManager">
<!-- Use Hibernate persistency -->  
<provider>org.hibernate.ejb.HibernatePersistence</provider>

和下面的 weblogic-application.xml

<prefer-application-packages>
<package-name>antlr.*</package-name>
<package-name>javax.persistence.*</package-name>

在此异常之前,我遇到了异常“错误实例化 Persistence Provider class java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence”,该异常已解决

实例化持久性提供程序类 java.lang.ClassNotFoundException 时出错:org.hibernate.ejb.HibernatePersistence

从那时起我就面临这个例外

我在 WL_DOMAIN/lib 中提供了以下 jars :-

  1. hibernate-jpa-2.0-api-1.0.1.Final
  2. com.oracle.jpa2support_1.0.0.0_2-1
  3. 休眠
  4. dom4j

    在 WL_DOMAIN ---setDomainEnv.cmd 中的以下文件的类路径中也提供了如下

    设置 EXT_PRE_CLASSPATH=C:\Projects\GMPP-CBOSS\MFSS\MFSS\lib\hibernate\slf4j-api.jar;C:\Projects\GMPP-CBOSS\MFSS\MFSS\lib\hibernate\hibernate-jpa-api.jar

    ---TrivEnv.cmd

    set CLASSPATH=C:\oracle\Middleware2\modules\javax.persistence_1.0.0.0_1-0-2.jar;C:\oracle\Middleware2\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar;%类路径%

    ----commonEnv.cmd -----oracle_common/common/bin

    设置 CLASSPATH=C:\oracle\Middleware2\modules\javax.persistence_1.0.0.0_1-0-2.jar;C:\oracle\Middleware2\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar;

以下是异常的堆栈跟踪:-

   <28 May, 2018, 3:38:26,86 PM IST> <Warning> <Deployer> <WL-149078> <Stack 
trace for message 149004
weblogic.management.DeploymentException: java.lang.NoSuchMethodError:   
javax.persistence.spi.PersistenceUnitInfo.getValidationMode() 
Ljavax/persistence/ValidationMode;
    at weblogic.application.internal.BaseDeployment .throwAppException 
   (BaseDeployment.java:132)
    at weblogic.application.internal.BaseDeployment.prepare 
   (BaseDeployment.java:242)
    at weblogic.application.internal.EarDeployment.prepare 
 (EarDeployment.java:66)
    at weblogic.application.internal. DeploymentStateChecker.prepare 
  (DeploymentStateChecker.java:158)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker. 
  prepare(AppContainerInvoker.java:65)
    Truncated. see log file for complete stacktrace
  Caused By: java.lang.NoSuchMethodError: 
   javax.persistence.spi.PersistenceUnitInfo.getValidationMode() 
  Ljavax/persistence/ValidationMode;
    at org.hibernate.ejb.Ejb3Configuration.configure 
  (Ejb3Configuration.java:625)
    at org.hibernate.ejb.HibernatePersistence.createContainer 
  EntityManagerFactory (HibernatePersistence.java:73)
    at weblogic.persistence.BasePersistenceUnitInfo.initializeEntity 
 ManagerFactory(BasePersistenceUnitInfo.java:614)
    at weblogic.persistence.BasePersistenceUnitInfo. 
 init(BasePersistenceUnitInfo.java:202)
    at weblogic.persistence.BaseJPAIntegrationProvider. 
  createPersistenceUnitInfo(BaseJPAIntegrationProvider.java:54)
    Truncated. see log file for complete stacktrace
 >
普雷纳沙

javax.persistence_1.0.0.0_2-0-0.jar 可能被添加在服务器类路径的开头和结尾(在 DOMAIN_HOME/lib 目录中)。

因此,同一服务器类路径中同一 jar 的两个版本会导致不一致。

解决方案 从 DOMAIN_HOME/lib 目录中删除 javax.persistence_1.0.0.0_2-0-0.jar。

来源:- https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=5zdu0pjx6_53&_afrLoop=302462572500859

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NoSuchMethodError:javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax / persistence / ValidationMode;

无法摆脱:javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax / persistence / ValidationMode;

javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;

java.lang.ClassCastException:org.hibernate.ejb.HibernatePersistence无法转换为WebLogic中的javax.persistence.spi.PersistenceProvider

java.lang.NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval()Z

java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax / persistence / Index;

春季:java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax / persistence / Index;

Spring Boot Hibernate错误java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax / persistence / ForeignKey;

java.lang.NoSuchMethodError:javax.persistence.JoinTable.indexes()[Ljavax / persistence / Index;

创建名称为'entityManagerFactory'的bean时出错:java.lang.NoSuchMethodError:javax.persistence.Table.indexes()

java.lang.NoSuchMethodError:javax.persistence.EntityManager.setProperty(Ljava / lang / String; Ljava / lang / Ob ject;)V

java.lang.NoClassDefFoundError:javax / persistence / EntityListeners

Tomcat + JPA + MySQL:java.lang.NoClassDefFoundError:javax / persistence / Persistence

getValidationMode()的AbstractMethodErrorLjavax / persistence / ValidationMode

java.lang.ClassNotFoundException: javax.persistence.PersistenceException

javax.persistence.Table.indexes()中的NoSuchMethodError [Ljavax / persistence / Index

线程“main”中的异常 javax.ejb.EJBException: java.lang.ClassNotFoundException: javax.persistence.PersistenceException

java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava / UTIL /属性

java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava / util / Map

spring-data-envers Hibernate java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator

java.lang.NoSuchMethodError:javax.servlet.ServletContext.getContextPath()Ljava / lang / String;

错误java.lang.ClassNotFoundException:javax.enterprise.context.spi.Contextual

java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava / lang / String; I)V WebLogic部署

Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval

Fresh Springboot项目无法启动原因:java.lang.ClassNotFoundException:javax.persistence.EntityManagerFactory

javax.persistence.RollbackException:错误,同时提交事务]与根源java.lang.StackOverflowError的:空

java.lang.ClassNotFoundException:更改 build.gradle 时的 javax.persistence.EntityManagerFactory

嵌套的异常是java.lang.NoSuchMethodError:javax.ws.rs.ClientErrorException.validate

java.lang.NoSuchMethodError:javax.servlet.http.Cookie.setHttpOnly(Z)V