web-dev-qa-db-ja.com

クラスmodule-info.class atlog4j-api.jarのインデックスを作成できませんでした:Java.lang.IllegalStateException:Unknown tag! 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警告[org.jboss.as.server.deployment](MSCサービススレッド1-2)WFLYSRV0003:/content/project.ear/sharedのクラスmodule-info.classのインデックスを作成できませんでした/log4j-api.jar:Java.lang.IllegalStateException:不明なタグ! pos = 4 poolCount = 24 org.jboss.jandex.Indexer.processConstantPool(Indexer.Java:1416)at org.jboss.jandex.Indexer.index(Indexer.Java:1450)at org.jboss.as.server.deployment org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.Java:51)at org.jboss.as.server.deployment.DeploymentUnitPhaseService.startの.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)で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)

私の分析の後、module-info.classがlog4j-api-2.10.0.jarに新たに導入され、起動時にそのクラスのインデックスを作成できなくなったようです。これは、eap-runtime-artifacts-7.0.5.GA.pomの依存関係情報から得られる同じものに対してJBossのjandex-2.0.2.Final-redhat-1.jarを使用しています。

誰でもこの問題を解決するのを手伝ってくれますか?

前もって感謝します。

7
prashant

まず第一に、これは単なる警告です。

8より前のJavaバージョンを使用していると思います。module-info.classは、いわゆるマルチリリースjar(すべてのJavaバージョンと互換性のあるjar)に使用されます。

バージョン8までのJavaは、この手法と100%互換ではありません。だから私が見る唯一の方法は、Javaバージョンを1.8にアップグレードするか、log4jをダウングレードすることです

5
Jens