weblogic.gestion.DeploymentException: java.lang.NoSuchMethodError: javax.persistance.le spi.PersistenceUnitInfo.getValidationMode()


Lors du déploiement de l'application EJB sur Weblogic : 12.2.1, je fais face à l'exception:

" weblogic.gestion.DeploymentException: java.lang.NoSuchMethodError: javax.persistance.le spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistance/ValidationMode"

J'ai la configuration ci-dessous en persistance.xml pour spécifier le fournisseur de persistance

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

Et ci-dessous dans weblogic application.xml

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

Avant cette exception, je faisais face l'exception " Erreur instanciant la classe java du fournisseur de persistance.lang.ClassNotFoundException: org.hiberner.ejb.HibernatePersistence " qui a été résolu à partir de

Erreur instanciant la classe java du fournisseur de persistance.lang.ClassNotFoundException: org.hiberner.ejb.HibernatePersistence

Et depuis lors, je suis confronté à cette exception

J'ai fourni ci-dessous des pots dans le WL_DOMAIN / lib :-

  1. hibernate jpa-2.0-api-version 1.0.1.Finale
  2. com.Oracle.jpa2support_1.0. 0. 0_2-1
  3. mise en veille prolongée
  4. Dom4j

    Ont également fourni dans le classpath dans les fichiers ci-dessous comme suit dans WL_DOMAIN --- setDomainEnv.cmd

    Set EXT_PRE_CLASSPATH=C: \ Projects \ GMPP-CBOSS\MFSS\MFSS\lib \ hibernate \ slf4j- API.pot;C:\Projects\GMPP-CBOSS\MFSS\MFSS\lib\hibernate\hibernate-jpa-api.jar

    ---TrivEnv.cmd

    Ensemble CLASSPATH=C: \ oracle\Middleware2\modules \ javax.persistence_1.0.0.0_1-0- 2.pot;C:\oracle\Middleware2\modules\com.Oracle.jpa2support_1.0.0.0_2- 1.jar; % CLASSPATH %

    ----communEnv.- - - - - oracle_common/commun / bin

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

Ci-dessous est la trace de pile de l'exception: -

   <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
 >
Author: Prerna shah, 2018-05-28

1 answers

Il peut être possible que javax.persistance_1. 0.0. 0_2-0-0.jar a été ajouté au début et aussi à la fin de server classpath (dans DOMAIN_HOME/lib dir).

En conséquence, deux versions du même jar dans le même chemin de classe du serveur provoquent des incohérences.

SOLUTION Supprimer javax.persistance_1. 0.0. 0_2-0-0.jar du répertoire DOMAIN_HOME / lib.

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

 0
Author: Prerna shah, 2018-05-29 17:28:18