There are clear signs that you are already using the Java 8 environment. The message “Annotation processing got disabled, since it requires a 1.6 compliant JVM” indicates that the tool producing this message didn’t recognize the JVM as “1.6 compliant”, which is a typical sign for tools failing to recognize a “1.8 compliant” JVM as being compatible with 1.6.
Further, you cited in this comment an error message of
Cannot find annotation method 'value()' in type 'java.lang.annotation.Retention': bad class file: java/lang/annotation/Retention.class( java/lang/annotation:Retention.class) class file has wrong version 52.0, should be 50.0.
This indicates that you have a Java 8 environment, as java.lang.annotation.Retention
is part of the JRE and is reported to have version 52. But the tool generating this error message does not support processing class files of that version number. In this specific case, it’s not ECJ, as older ECJ versions try to process class files ignoring a higher version number and only bail out when they hit a feature that they don’t understand (as described in this answer).
There is a general pattern behind this. You not only have to update tools with an embedded compiler, like Tomcat or Eclipse or the compiler ECJ specifically, you have to update every tool that does byte code processing.
A lot of tools are settling on a bytecode processing library like ASM, so updating ASM could solve a lot of issues, however, it’s not worth going through all tools of your chain and reason about whether they do byte code processing or not and whether they implement it directly or using another library, just to find out that there is another tool with problems after updating that one.
Instead, update maven completely, including all plugins. It doesn’t pay off to update only a few libraries and keep everything else in that ancient state. And update all tools of your chain you might not have mentioned yet.