LinkageError при попытке запустить ушной проект JBoss EAP 7.2 с JDK11 - PullRequest
0 голосов
/ 21 марта 2020

Уважаемые,

Я пытаюсь переключить с Java 8 на Java 11 приложение, упакованное в EAR и работающее на JBoss EAP 7.2. Приложение WAR является проектом Struts2 + Spring. Он отлично работает с JDK8, но с 11 у меня появляется следующая ошибка:

     Caused by: java.lang.LinkageError: loader 'deployment.myapp-ear-3.0.2-SNAPSHOT.ear.myapp-web.war' @d6a8497 (instance of org.jboss.modules.ModuleClassLoader, child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) attempted duplicate class definition for com.myapp.common.util.CustomRestTemplate$$EnhancerBySpringCGLIB$$3355227b."}}
    15:34:19,572 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 42) WFLYSRV0010: Déploiement de "myapp-ear-3.0.2-SNAPSHOT.ear" (runtime-name: "myapp-ear-3.0.2-SNAPSHOT.ear")

Он не связан с самим классом, потому что, если я удалю аннотации, автоматически связывающие этот класс, проблема перейдет к другому классу.

Больше журналов:

15:34:19,373 INFO  [org.springframework.beans.factory.config.PropertiesFactoryBean] (ServerService Thread Pool -- 77) Loading properties file from URL [file:/c:/myapp-files/application.properties]
15:34:19,542 WARN  [org.springframework.web.context.support.XmlWebApplicationContext] (ServerService Thread Pool -- 77) Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addressBookHandler': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myapp.common.util.CustomRestTemplate com.myapp.common.handlers.AddressBookHandler.backend; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customRestTemplate' defined in "/C:/tools/EAP-7.2.0/standalone/deployments/myapp-ear-3.0.2-SNAPSHOT.ear/myapp-web.war/WEB-INF/classes/com/myapp/common/util/CustomRestTemplate.class": Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.myapp.common.util.CustomRestTemplate]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1210)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:216)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:185)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at io.undertow.servlet@2.0.15.Final-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
    at org.wildfly.extension.undertow@7.2.0.GA-redhat-00005//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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)
    at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myapp.common.util.CustomRestTemplate com.myapp.common.handlers.AddressBookHandler.backend; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customRestTemplate' defined in "/C:/tools/EAP-7.2.0/standalone/deployments/myapp-ear-3.0.2-SNAPSHOT.ear/myapp-web.war/WEB-INF/classes/com/myapp/common/util/CustomRestTemplate.class": Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.myapp.common.util.CustomRestTemplate]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:561)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    ... 34 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customRestTemplate' defined in "/C:/tools/EAP-7.2.0/standalone/deployments/myapp-ear-3.0.2-SNAPSHOT.ear/myapp-web.war/WEB-INF/classes/com/myapp/common/util/CustomRestTemplate.class": Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.myapp.common.util.CustomRestTemplate]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
    ... 36 more
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.myapp.common.util.CustomRestTemplate]: Common causes of this problem include using a final class or a non-visible class; nested exception is org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:206)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:109)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor.postProcessAfterInitialization(AbstractAdvisingBeanPostProcessor.java:91)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    ... 45 more
Caused by: org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.cglib.proxy.Enhancer.create(Enhancer.java:285)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.CglibAopProxy.createProxyClassAndInstance(CglibAopProxy.java:227)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:66)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:202)
    ... 50 more
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
    at deployment.myapp-ear-3.0.2-SNAPSHOT.ear//org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
    ... 55 more
Caused by: java.lang.LinkageError: loader 'deployment.myapp-ear-3.0.2-SNAPSHOT.ear.myapp-web.war' @d6a8497 (instance of org.jboss.modules.ModuleClassLoader, child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) attempted duplicate class definition for com.myapp.common.util.CustomRestTemplate$$EnhancerBySpringCGLIB$$3355227b.
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    ... 61 more
...

Есть подсказка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...