Сбой развертывания приложения при обновлении jboss-as-7.1 до версии jboss-eap-7.2

#hibernate #java-11 #jboss-eap-7

#гибернация #java-11 #jboss-eap-7

Вопрос:

Я обновил Java 7 до Java 11 в своем приложении, и для этого необходимо использовать JBoss EAP 7.2, поскольку JBoss AS 7.1 несовместим с Java11.

При развертывании приложения появляется ошибка ниже:

 11:05:53,389 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit.”application.war ".FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit."application.war".FIRST_MODULE_USE: WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment “application.war"

at org.jboss.as.server@6.0.11.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)

at org.jboss.msc@1.4.5.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)

at org.jboss.msc@1.4.5.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)

at org.jboss.msc@1.4.5.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)

at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)

at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)

at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)

at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)

at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: java.lang.IncompatibleClassChangeError: Failed to link org/hibernate/ejb/HibernatePersistence (Module "deployment.application.war" from Service Module Loader): class org.hibernate.ejb.HibernatePersistence has interface org.hibernate.ejb.AvailableSettings as super class

at java.base/java.lang.ClassLoader.defineClass1(Native Method)

at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)

at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1095)

at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)

at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:519)

at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)

at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)

at org.jboss.modules.Module.loadModuleClass(Module.java:731)

at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)

at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)

at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)

at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)

at org.jboss.as.jpa@7.2.0.GA-redhat-00005//org.jboss.as.jpa.processor.PersistenceProviderHandler.deploy(PersistenceProviderHandler.java:73)

at org.jboss.as.jpa@7.2.0.GA-redhat-00005//org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:49)

at org.jboss.as.server@6.0.11.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)

... 8 more



11:05:53,393 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "application.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit."application.war ".FIRST_MODULE_USE" => "WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment "application.war "

    Caused by: java.lang.IncompatibleClassChangeError: Failed to link org/hibernate/ejb/HibernatePersistence (Module "deployment.application.war" from Service Module Loader): class org.hibernate.ejb.HibernatePersistence has interface org.hibernate.ejb.AvailableSettings as super class"}}

11:05:53,403 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 42) WFLYSRV0010: Deployed "application.war" (runtime-name : "application.war")

11:05:53,404 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report

WFLYCTL0186:   Services which failed to start:      service jboss.deployment.unit."application.war".FIRST_MODULE_USE: WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment "application.war "
  

Это работало для JBoss-AS-7.1 и Java7.

Пожалуйста, помогите мне устранить эту ошибку.

Комментарии:

1. Вы включаете гибернацию в свое развертывание?

2. Да, я использовал гибернацию в своем приложении.

3. Было бы лучше удалить гибернацию из вашего развертывания и использовать версию, если это возможно, поставляемую с JBoss EAP.

4. Из какого файла я должен удалить и где я должен добавить версию? Я этого не понял. Пожалуйста, дайте мне знать.

5. Вообще говоря, вы не хотели бы включать гибернацию в свое развертывание. Например, в WAR вы хотите убедиться, что в каталоге нет библиотек гибернации WAR/WEB-INF/lib .