web-dev-qa-db-fra.com

Impossible d'indexer la classe module-info.class atlog4j-api.jar: Java.lang.IllegalStateException: balise inconnue! pos = 4 poolCount = 24

Nous avons mis à jour le fichier log4j de log4j-api-2.7.jar à log4j-api-2.10.0.jar. Nous obtenons un avertissement ci-dessous au démarrage de JBoss (nous utilisons JBoss-EAP-7.0).

05/09/2018 05: 31: 28,669 WARN [org.jboss.as.server.deployment] (thread de service MSC 1-2) WFLYSRV0003: impossible d'indexer la classe module-info.class à /content/project.ear/shared /log4j-api.jar: Java.lang.IllegalStateException: balise inconnue! pos = 4 poolCount = 24 à org.jboss.jandex.Indexer.processConstantPool (Indexer.Java:1416) à org.jboss.jandex.Indexer.index (Indexer.Java:1450) à 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.deservment.deployment.DhaseService (DeploymentUnitPhaseService.Java:165) sur org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService (ServiceControllerImpl.Java:2032) sur org.jboss.msc.service.ServiceControllerImpl $ StartTask.run (ServiceControllerImIm) Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1149) sur Java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java:624) sur Java.lang.Thread.run (Thread.Java:748)

Après mon analyse, il semble que module-info.class soit nouvellement introduit dans log4j-api-2.10.0.jar et maintenant il n'est pas capable d'indexer cette classe au démarrage. Il utilise jandex-2.0.2.Final-redhat-1.jar de JBoss pour le même qui provient des informations de dépendance d'eap-runtime-artifacts-7.0.5.GA.pom.

Quelqu'un peut-il m'aider à résoudre ce problème?

Merci d'avance.

7
prashant

Tout d'abord, ce n'est qu'un avertissement.

Je suppose que vous utilisez une version Java inférieure à 8. La module-info.class est utilisé pour les soi-disant jar multi release (jars qui sont compatibles avec tous les Java).

Java jusqu'à la version 8 n'est pas 100% compatible avec cette technique. Donc, la seule façon que je vois est de mettre à jour votre Java Version à 1.8 ou déclasser log4j

5
Jens