由于log4j上的问题(CVE-2021-44228),我将一些应用程序迁移到log4j 2.15.0 (使用JBoss EAP7.1和JDK1.8.0_211-B12),没有任何问题。现在我想从log4j 2.15.0迁移到2.16.0。
当我尝试时,我有以下错误
15:20:59,361 WARN [org.jboss.as.server.deployment] (MSC service thread
1-8) WFLYSRV0003: Could not index class
META-INF/versions/9/module-info.class at
/C:/jboss-eap-7.1/standalone/deployments/myApp-SNAPSHOT.war/WEB-INF/lib/log4j-api-2.16.0.jar:
java.lang.IllegalStateException: Unknown tag! pos=4 poolCount = 32 at
org.jboss.jandex.Indexer.processConstantPool(Indexer.java:1417) at
org.jboss.jandex.Indexer.index(Indexer.java:1451) at
org.jboss.as.server.deployment.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:99)
at
org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)它似乎与java版本有关,特别是因为它在jdk 11中用于JBoss EAP7.3,但官方文档显示
"Log4j 2.16.0是Log4j的最新版本。截至Log4j 2.13.0 Log4j 2在运行时需要Java8或更高版本。该版本包含新的功能和修复,可以在最新的更改报告中找到。“
https://logging.apache.org/log4j/2.x/index.html
有同样问题的人吗?
编辑:重建完所有的弹出后,我意识到这个堆栈不是造成崩溃的原因。既然这是个警告,我就不理会了
发布于 2021-12-16 14:50:05
log4j 2.16.0和WildFly 10.1也有同样的问题。我尝试将WildFly从10.1更新到13.0,并解决了这个错误。
这个问题已经在WildFly 13.0 ( https://issues.redhat.com/browse/WFLY-9608 )上得到了解决。
JBoss EAP7.2似乎相当于WildFly 14.0。
http://www.mastertheboss.com/jbossas/jboss-eap/what-is-the-difference-between-jboss-eap-wildfly-and-jboss-as/
因此,您应该更新JBoss EAP,更新时间为7.2。
https://stackoverflow.com/questions/70353936
复制相似问题