WildFly 16,log4j 2.17.0,NoSuchFieldError:EMPTY_BYTE_ARRAY [英] wildfly 16, log4j 2.17.0, NoSuchFieldError: EMPTY_BYTE_ARRAY
问题描述
我在WildFly启动过程中遇到错误,并显示以下消息:
NoSuchFieldError:EMPTY_BYTE_ARRAY
该消息还指出,此错误发生在UnderTow部署中。有没有人能给我一个提示,说明这里发生了什么,以及如何解决这个问题?下面是堆栈跟踪的开始。
at org.wildfly.extension.undertow@24.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:90)
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.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:829)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
原因:java.lang.NoSuchFieldError:EMPTY_BYTE_ARRAY 在deployment.taggable-server.war//org.apache.logging.log4j.core.config.ConfigurationSource.(ConfigurationSource.java:56) 在deployment.taggable-server.war//org.apache.logging.log4j.core.config.NullConfiguration.(NullConfiguration.java:32) 在deployment.taggable-server.war//org.apache.logging.log4j.core.LoggerContext.(LoggerContext.java:85) 在deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254) 在deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218) 在deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136) 在deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123) 在deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117) 在deployment.taggable-server.war//org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150) 在deployment.taggable-server.war//org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) 在org.apache.logging.log4j.api@2.14.1//org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) 在org.apache.logging.log4j.api@2.14.1//org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
推荐答案
我也有同样的问题,您可以这样解决:
对于
war
:内部
jboss-deployment-structure.xml
src/main/webapp/WEB-INF/
如下:<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure> <deployment> <exclusions> <module name="org.apache.logging.log4j.api"/> </exclusions> </deployment> </jboss-deployment-structure>
适用于
ear
:内部
jboss-deployment-structure.xml
src/main/application/META-INF/
如下:<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure> <sub-deployment name="mywar.war"> <exclusions> <module name="org.apache.logging.log4j.api"/> </exclusions> </sub-deployment> </jboss-deployment-structure>
这篇关于WildFly 16,log4j 2.17.0,NoSuchFieldError:EMPTY_BYTE_ARRAY的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!