-
Feature Request
-
Resolution: Done
-
Major
-
2.0.2.Final, 2.0.3.Final
-
None
I pulled down the latest json-p api jar:
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1</version>
</dependency>
and included it in a WF-Swarm 2017.7.0 deployment. It ended up blowing up with an IllegalStateException. Looking into why, the problem is that the javax.json-api jar is including a module-info.class file that has been compiled with Java9. The attached TestIndexer.java test shows the problem once you have downloaded the javax.json-api jar and set its path in TestIndexer.main:
Exception in thread "main" java.lang.IllegalStateException: Unknown tag! pos=4 poolCount = 18
at org.jboss.jandex.Indexer.processConstantPool(Indexer.java:1417)
at org.jboss.jandex.Indexer.index(Indexer.java:1451)
at test.TestIndexer.loadDependentIndexFromArchive(TestIndexer.java:35)
at test.TestIndexer.load(TestIndexer.java:46)
at test.TestIndexer.main(TestIndexer.java:50)
The bad tag it is running into is the new CONSTANT_Module=19 tag.
We should guard against this now that people are starting to this, by either just explicitly skipping module-info.class file entries seen, or skip all classes that have a version greater than the current vm version.
- relates to
-
JBEAP-15261 [GSS](7.1.z) "WFLYSRV0003: Could not index class ..." happens during application deployment when the packaged library contains module-info.class
- Closed
-
JBEAP-15716 [GSS](7.2.z) "WFLYSRV0003: Could not index class ..." happens during application deployment when the packaged library contains module-info.class
- Closed
-
WFLY-9608 WildFly Jandexification should explicitly ignore module-info.class
- Closed
- links to