首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >野蝇16,log4j 2.17.0,NoSuchFieldError: EMPTY_BYTE_ARRAY

野蝇16,log4j 2.17.0,NoSuchFieldError: EMPTY_BYTE_ARRAY
EN

Stack Overflow用户
提问于 2021-12-24 15:59:00
回答 3查看 8.3K关注 0票数 9

在通配符启动过程中,我收到一个错误,其中包含以下消息:

NoSuchFieldError: EMPTY_BYTE_ARRAY

该消息还指出,此错误发生在暗拖部署中。有人能告诉我这里发生了什么,以及如何解决这个问题吗?

下面是堆栈跟踪的开始。

代码语言:javascript
复制
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)

致因: deployment.taggable-server.war//org.apache.logging.log4j.core.config.ConfigurationSource.(ConfigurationSource.java:56):EMPTY_BYTE_ARRAY at deployment.taggable-server.war//org.apache.logging.log4j.core.config.NullConfiguration.(NullConfiguration.java:32) at deployment.taggable-server.war//org.apache.logging.log4j.core.LoggerContext.(LoggerContext.java:85) at deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254) at deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218) at deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136) at deployment.taggable-server.war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123) at部署.服务器。war//org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117) at deployment.taggable-server.war//org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150) at deployment.taggable-server.war//org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) at org.apache.logging.log4j.api@2.14.1//org.apache.logging.log4j.LogManager.getContext(LogManagerorg.apache.logging.log4j.api@2.14.1//org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599) ( .java:196)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-12-27 16:10:00

我也有同样的问题,你可以这样解决:

  1. 对于war: 在jboss-deployment-structure.xml中使用这样的src/main/webapp/WEB-INF/
  2. 对于ear: 在jboss-deployment-structure.xml中使用这样的src/main/application/META-INF/
票数 11
EN

Stack Overflow用户

发布于 2021-12-26 15:35:00

您需要从部署中提取排除API模块。另一个选项是使用WildFly 26,其中包含API的2.16版本。

票数 2
EN

Stack Overflow用户

发布于 2022-01-11 17:22:15

将log4j和log4j-api更新为2.16.0版本。

如果您使用的是spring-boot所以,请在pom.xml中添加标记。

代码语言:javascript
复制
 <properties> 
    <log4j2-version>2.16.0</log4j2-version>
  </properties>

代码语言:javascript
复制
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.16.0</version>
        </dependency>

在pom.xml中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70474648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档