无法索引类module-info.class atlog4j-api.jar:java.lang.IllegalStateException:未知标记! pos = 4 poolCount = 24(

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法索引类module-info.class atlog4j-api.jar:java.lang.IllegalStateException:未知标记! pos = 4 poolCount = 24(相关的知识,希望对你有一定的参考价值。

我们已经将log4j jar从log4j-api-2.7.jar更新为log4j-api-2.10.0.jar。我们在JBoss启动时遇到了警告(我们使用的是JBoss-EAP-7.0)。

2018-09-05 05:31:28,669 WARN [org.jboss.as.server.deployment](MSC服务线程1-2)WFLYSRV0003:无法在/content/project.ear/shared索引类module-info.class /log4j-api.jar:java.lang.IllegalStateException:未知标记!位于org.jboss.as.server.deployment的org.jboss.jandex.Indexer.index(Indexer.java:1450)org.jboss.jandex.Indexer.processConstantPool(Indexer.java:1416)的pos = 4 poolCount = 24位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.start的org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51)中的.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:99) (DeploymentUnitPhaseService.java:165)org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:2032)at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1955)at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)java.lang.Thread.run(Thread.java:748)

在我的分析之后,似乎在log4j-api-2.10.0.jar中新引入了module-info.class,现在它无法在启动时索引该类。它使用的是JBoss的jandex-2.0.2.Final-redhat-1.jar,它来自eap-runtime-artifacts-7.0.5.GA.pom的依赖信息。

有谁可以帮我解决这个问题?

提前致谢。

答案

首先,这只是一个警告。

我猜你使用的是低于8的Java版本.module-info.class用于所谓的Multi release jar(可与所有java版本兼容的罐子)。

直到版本8的Java与此技术不是100%兼容。因此,我看到的唯一方法是将Java版本升级到1.8或降级log4j

以上是关于无法索引类module-info.class atlog4j-api.jar:java.lang.IllegalStateException:未知标记! pos = 4 poolCount = 24(的主要内容,如果未能解决你的问题,请参考以下文章

严重:无法在 Tomcat 7 && Java 8 中处理 Jar 条目 [module-info.class]

maven-bundle-plugin 因“无效的类文件 module-info.class”而失败

META-INF/versions/9/module-info.class 冲突问题解决

其中一个--module-version或--hash-dependencies没有module-info.class错误在jdk 9中打包为jar时

JavaScript之数组类数组字符串新方法atarguments

通过索引对类模板成员的编译时访问