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)?

[1] https://issues.jboss.org/browse/WFLY-9961

[2] https://developer.jboss.org/thread/277401

[3] https://ci.wildfly.org/viewType.html?buildTypeId=WF_MasterLinuxJdk9&branch_WF=__all_branches__

[4] http://repo1.maven.org/maven2/org/jboss/jboss-parent/25/jboss-parent-25.pom

-Jaikiran