Skip to content

SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.

License

Notifications You must be signed in to change notification settings

spotbugs/spotbugs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f7e0f6d · Apr 28, 2025
Apr 14, 2025
Apr 8, 2025
Apr 15, 2025
Apr 11, 2025
Apr 11, 2025
Apr 26, 2025
Apr 28, 2025
Feb 2, 2025
Apr 11, 2025
Apr 26, 2025
Apr 26, 2025
Apr 25, 2025
Sep 30, 2024
Feb 18, 2025
Apr 11, 2025
Sep 30, 2023
Feb 2, 2025
Oct 21, 2018
Oct 7, 2023
Apr 23, 2025
Dec 28, 2021
Aug 20, 2017
Apr 28, 2025
Mar 6, 2024
Apr 26, 2025
Apr 2, 2025
Apr 25, 2025
Apr 25, 2025
Mar 6, 2024
Apr 25, 2025

Repository files navigation

SpotBugs

Build Status Documentation Status Coverage Status Maven Central Javadocs

SpotBugs is the spiritual successor of FindBugs, carrying on from the point where it left off with support of its community.

SpotBugs is licensed under the GNU LESSER GENERAL PUBLIC LICENSE.

More information at the official website. A lot of things can still be found at the old FindBugs website.

Build

SpotBugs is built using Gradle. The recommended way to obtain it is to simply run the gradlew (or gradlew.bat) wrapper, which will automatically download and run the correct version as needed (using the settings in gradle/wrapper/gradle-wrapper.properties).

Building SpotBugs requires JDK 21 to run all the tests (using SpotBugs requires JDK 11 or above, but it can analyze code compiled with older versions).

To see a list of build options, run gradle tasks (or gradlew tasks). The build task will perform a full build and test.

To build the SpotBugs plugin for Eclipse, you'll need to create the file eclipsePlugin/local.properties, containing a property eclipseRoot.dir that points to an Eclipse installation's root directory (see .github/workflows/release.yml for an example), then run the build. To prepare Eclipse environment only, run ./gradlew eclipse. See also detailed steps.

Using SpotBugs

SpotBugs can be used standalone and through several integrations, including:

Questions?

You can contact us using GitHub Discussions.