If you use the Maven 2 FindBugs plugin with Java 5 code, you will get a lot of errors like:
Can't use annotations when running in JDK 1.4 mode! Can't use JDK 1.5 for loop syntax when running in JDK 1.4 mode! Can't use generics unless running in JDK 1.5 mode! Can't use enum as a keyword in pre-JDK 1.5 target
The solution is to set the targetJdk
(even though this option isn’t mentioned in the docs and even mvn help:describe
can’t find it):
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.3.1</version> <configuration> <targetJdk>1.5</targetJdk> </configuration> </plugin>
Note that you should clean your project; otherwise the new option may not be used for some reason.