Running Findbugs with any recent build of Java 9 produces this warning:
[findbugs] Warning: Unknown version of Java
[findbugs] edu.umd.cs.findbugs.JavaVersionException: Could not parse Java version string: 9-ea
[findbugs] at edu.umd.cs.findbugs.JavaVersion.<init>(JavaVersion.java:68)
[findbugs] at edu.umd.cs.findbugs.JavaVersion.<clinit>(JavaVersion.java:44)
[findbugs] at edu.umd.cs.findbugs.DetectorFactory.isEnabledForCurrentJRE(DetectorFactory.java:248)
[findbugs] at edu.umd.cs.findbugs.FindBugs.isDetectorEnabled(FindBugs.java:256)
[findbugs] at edu.umd.cs.findbugs.FindBugs2$3.choose(FindBugs2.java:906)
[findbugs] at edu.umd.cs.findbugs.plan.ExecutionPlan.build(ExecutionPlan.java:168)
[findbugs] at edu.umd.cs.findbugs.FindBugs2.createExecutionPlan(FindBugs2.java:935)
[findbugs] at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:241)
[findbugs] at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:402)
[findbugs] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1200)
Indeed, Java 9 introduces a new version-string scheme through JEP 223
http://openjdk.java.net/jeps/223
PR created on Github: https://github.com/findbugsproject/findbugs/pull/75
PR has been merged, it works in latest version (3.1.0_preview2), this ticket can be closed