It appears that the recent release of WildFly 12.0.0.Final has a major issue with Java 9 support for deployments. More specifically, if the application being deployed is compiled using Java 9 JDK then the annotation processing (through Jandex) causes such classes to skip the annotation indexing, effectively missing any annotation information present on them. There's a JIRA for it here[1] and I think another user here in the forum thread[2] is affected by the same issue. I see that Stuart is already upgrading Jandex which includes a fix, so this mail isn't really about fixing this issue.

Given the ease with which this got reproduced and the fact that we missed it in our regular integration job for Java 9 [3], I looked around to see why we couldn't catch this earlier. It looks like the WildFly pom.xml uses org.jboss:jboss-parent:25 [4] which fixes the target class version of the compilation to 1.8. As a result, even though the CI job uses Java 9 to compile the application sources (in test cases) it ends up with a class version to Java 8 and that explains why these issues weren't caught earlier.

So would it be possible to have another variant of this CI job which passes Java 9 as the target version for compiled sources, as a system property value (the pom.xml of jboss-parent allows the value to be configured through properties)?