
Apache
FindBugs-IDEA
Vendor:
Andre Pfeiler
Email:
Website:
http://findbugs-idea.dev.java.net
SourceCode:
link
Bugtracker page
Forum page
Description:
FindBugs for IntelliJ IDEA
Provides static byte code analysis to look for bugs in Java code from within IntelliJ IDEA.
FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns,
such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks.
FindBugs can identify hundreds of serious defects in large applications (typically about 1 defect per 1000-2000
lines of non-commenting source statements). FindBugs is open source, and has been downloaded more than 230,000 times,
and is used by many major companies and financial institutions.
FindBugs-IDEA uses FindBugs™ under the hood. for more information
see
http://findbugs.sourceforge.net/.
..."We use IDEA inspections and FindBugs complementary. FindBugs is running in our continuous integration process and IDEA inspections are used during coding."
What about using both during coding from within IntelliJ IDEA?
FindBugs-IDEA plugin supports:
- configure findbugs on idea project and module level
- jump to source from results shown in toolwindow
- bug descriptions, solutions
- run analysis always in background
- run findbugs analysis on all affected files after compile
- min. priority to report
- background scanning
- configurable effort run level
- configurable detectors
- bug categories to report
- file filter (include, exclude, exclude baseline bugs)
- load additional detector plugins like fb-contrib.jar
- group results by: bug category, classname, package, priority, bug rank
- intellij local history support
- run Findbugs anaysis as IntelliJ inspection (experimental)
- Analyze actions (all actions are also available in the intellij pro0ject tree, toolbar menu, context menu):
- analyze all modfified files
- analyze all files on the active changelist
- analyze class under cursor
- analyze current editor file
- analyze all files of an intellij project
- analyze all files of an intellij module
- analyze all files of the selected package
- analyze a bunch of seleted files (project tree)
Downloads: 9635
Rating:
Participated in rating: 11
| 0.9.94. |
80.9013. |
. |
Download
|
5051.04. |
2009-12-31 17:23:26 |
. |
| 0.9.93. |
80.9013. |
. |
Download
|
5048.95. |
2009-12-19 17:14:59 |
. |
| 0.9.92. |
. |
. |
Download
|
5048.59. |
2009-11-08 20:27:45 |
. |
| 0.9.91. |
80.9013. |
. |
Download
|
5012.78. |
2009-09-27 22:07:51 |
. |
| 0.9.9. |
80.9013. |
. |
Download
|
5008.71. |
2009-09-21 23:13:30 |
. |
| 0.9.84-dev. |
80.9013. |
85.9999. |
Download
|
4637.83. |
2009-07-13 00:10:47 |
. |
| 0.9.83-dev. |
80.9013. |
. |
Download
|
4565.19. |
2009-03-10 21:37:18 |
. |
| 0.9.82-dev. |
80.9013. |
. |
Download
|
4561.62. |
2009-03-08 18:25:02 |
. |
| 0.9.81-dev. |
80.9013. |
. |
Download
|
4552.26. |
2009-03-01 18:20:38 |
. |
| 0.9.31-dev. |
80.9013. |
. |
Download
|
4545.6. |
2009-01-18 23:54:10 |
. |
| 0.9.30-dev. |
80.9013. |
. |
Download
|
4507.35. |
2009-01-07 17:28:18 |
. |
| 0.9.21-dev. |
80.9013. |
. |
Download
|
4371.57. |
2008-12-17 01:13:58 |
. |
| 0.9.2-dev. |
80.9013. |
. |
Download
|
4371.13. |
2008-12-15 20:55:16 |
. |
| 0.9.1-dev. |
80.9013. |
. |
Download
|
4370.33. |
2008-12-15 18:34:51 |
. |
| . |
. |
Recent change notes:
0.9.94
- fixed ClassCastException (unregister ChangelistAction)
0.9.93
- fixed AbstractMethodError due to API change (ChangeListListener)
0.9.92
- initialize default properties on run if empty
- configurable: analyze affected files after compile
0.9.91
- maybe fix init default properties on first init
- show settings dialog (no configured detectors, categories)
- rename all target (build.xml)
- configurable activate tool window on analyzis run property
0.9.9
- time to configure ... treated some configuration options:
- configure findbugs on idea project and module level
- min. priority to report
- background scanning
- configurable effort run level
- configurable detectors
- bug categories to report
- file filter (include, exclude, exclude baseline bugs)
- load additional detector plugins like fs-contrib.jar
- updated findbugs under the hood to version 1.3.9
-
- new action: run analysis on all changed files of the the active (selected) changelist (findbugs-idea toolwindow and changelist toolwindow)
- new action: group by bug rank
0.9.84-dev
- refix [Issue #4] jump to source not working in win environments
- updated findbugs under the hood to version 1.3.8
-
- add findbugs bug pattern running as inspection (note: this is an experimental feature, quickfix (FindBugs.SuppressWaring()) is not fully/finally implemented)
-
0.9.83-dev
- some minor fixes
- fix again [Issue #7] Exception while navigating results tree
0.9.82-dev
- fix [Issue #7] Exception while navigating results tree
0.9.81-dev
- add Jump To Source (F4) action
- add local history (put label, show history) on bug tree
- add auto Jump to Source toggle button
- add auto scroll to source in details view (Class: _____ (package))
- fix some issues reported on issue tracker - thanks to all reporters
- fix [Issue 6] Exception when inspecting a package or module
0.9.31-dev
0.9.30-dev
- fixed grouping issues
- added quick search capabilities
- new grouping actions added (byPackage, byClass, byPriority, byCategory)
- updated findbugs under the hood to 1.3.7
- fixed some bugs, ... added some
- added floatable/dockable toolbar wrapper/layout
- fix missing resource keys
0.9.21
- made 8.1EAP compatible (annotation assert error)
- build idea-8-jdk1.5 MacOS X compatible binary
0.9.2
- fixed missing resource
- fix building valid idea plugin package
0.9.1
Comments:
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:993)
at org.twodividedbyzero.idea.findbugs.common.util.BugInstanceUtil.getPsiElement(BugInstanceUtil.java:167)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.BugInstanceNode.getPsiFile(BugInstanceNode.java:142)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addProblem(GroupTreeModel.java:105)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addToGroup(GroupTreeModel.java:198)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addToGroup(GroupTreeModel.java:46)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.Grouper.group(Grouper.java:207)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.group(GroupTreeModel.java:138)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addNode(GroupTreeModel.java:129)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.BugTreePanel.addNode(BugTreePanel.java:111)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:206)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:64)
at org.twodividedbyzero.idea.findbugs.common.event.EventManagerImpl.fireEvent(EventManagerImpl.java:92)
at org.twodividedbyzero.idea.findbugs.report.BugReporter.doReportBug(BugReporter.java:124)
at edu.umd.cs.findbugs.AbstractBugReporter.reportBug(AbstractBugReporter.java:163)
at edu.umd.cs.findbugs.FilterBugReporter.reportBug(FilterBugReporter.java:42)
at edu.umd.cs.findbugs.DelegatingBugReporter.reportBug(DelegatingBugReporter.java:78)
at edu.umd.cs.findbugs.BugAccumulator.reportAccumulatedBugs(BugAccumulator.java:109)
at edu.umd.cs.findbugs.detect.FindReturnRef.visitAfter(FindReturnRef.java:62)
at edu.umd.cs.findbugs.visitclass.PreorderVisitor.visitJavaClass(PreorderVisitor.java:274)
at org.apache.bcel.classfile.JavaClass.accept(JavaClass.java:276)
at edu.umd.cs.findbugs.BytecodeScanningDetector.visitClassContext(BytecodeScanningDetector.java:36)
at edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:68)
at edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:979)
at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:230)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.runFindBugs(FindBugsTask.java:102)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.run(FindBugsTask.java:91)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:422)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:197)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:222)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:188)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:337)
at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:328)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:124)
java.lang.NullPointerException
at com.intellij.openapi.wm.ToolWindowManager.getInstance(ToolWindowManager.java:30)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:78)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:73)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel$2.run(ToolWindowPanel.java:200)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:608)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:498)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.NullPointerException
at com.intellij.openapi.wm.ToolWindowManager.getInstance(ToolWindowManager.java:30)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:78)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:73)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel$2.run(ToolWindowPanel.java:200)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:608)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:498)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.NullPointerException
at com.intellij.openapi.wm.ToolWindowManager.getInstance(ToolWindowManager.java:30)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:78)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:73)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel$2.run(ToolWindowPanel.java:200)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:608)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:498)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.ClassCastException: org.twodividedbyzero.idea.findbugs.actions.AnalyzeChangelistFiles cannot be cast to com.intellij.openapi.vcs.changes.ChangeListListener
at org.twodividedbyzero.idea.findbugs.core.FindBugsPluginImpl.projectClosed(FindBugsPluginImpl.java:173)
at com.intellij.openapi.project.impl.ProjectImpl.d(ProjectImpl.java:324)
at com.intellij.openapi.project.impl.ProjectImpl.access$300(ProjectImpl.java:66)
at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectClosed(ProjectImpl.java:350)
at com.intellij.openapi.project.impl.ProjectManagerImpl$2.projectClosed(ProjectManagerImpl.java:147)
at com.intellij.openapi.project.impl.ProjectManagerImpl.e(ProjectManagerImpl.java:939)
at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:864)
at com.intellij.openapi.project.impl.ProjectManagerImpl.closeProject(ProjectManagerImpl.java:846)
at com.intellij.ide.impl.ProjectUtil.closeProject(ProjectUtil.java:87)
at com.intellij.ide.actions.CloseProjectAction.actionPerformed(CloseProjectAction.java:35)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:214)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:82)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:496)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:43)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:516)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:621)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:507)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:372)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
of the preferences page.
"No bug categories or bug pattern detectors selected. Analysis aborted."
Can't wait to see more configuration.
Looking forward to the next version, the config options will be really handy to match what we have in CI.
@see https://findbugs-idea.dev.java.net/servlets/ProjectForumMessageView?forumID=3349&messageID=30526
the only problem with actual version is the plugin descriptor version/build information.
.. next release gets treated some config options - configurable detectors, categories, effort, min report level and exclude/include/baselineBugs filter - globally on idea project level or overridden by any idea modul findbugs settings ... i think on saturday (19.9.09) i'll upload a new version
How do I make it run in the background all the time ?
One issue: Jump to Source is not working (it is greyed out). It would be pretty useful if this was actually working.
I am running the Plugin under Windows and Mac with IDEA 8.0.1
Is there a way, I could help with this feature?
Regards,
Moritz
Project initialisation failed.: com.intellij.openapi.project.Project.getBaseDir()Lcom/intellij/openapi/vfs/VirtualFile;
java.lang.NoSuchMethodError: com.intellij.openapi.project.Project.getBaseDir()Lcom/intellij/openapi/vfs/VirtualFile;
at org.twodividedbyzero.idea.findbugs.common.util.PluginUtil.getProjectPath(PluginUtil.java:103)
at org.twodividedbyzero.idea.findbugs.FindBugsPlugin.(FindBugsPlugin.java:95)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1.run(ConstructorInjectionComponentAdapter.java:220)
at org.picocontainer.defaults.ThreadLocalCyclicDependencyGuard.observe(ThreadLocalCyclicDependencyGuard.java:53)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getComponentInstance(ConstructorInjectionComponentAdapter.java:248)
at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:60)
at com.intellij.openapi.components.impl.ComponentManagerImpl$MyComponentAdapterFactory$1.getComponentInstance(ComponentManagerImpl.java:0)
at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:60)
at org.picocontainer.defaults.CachingComponentAdapter.getComponentInstance(CachingComponentAdapter.java:58)
at org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:395)
at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:375)
at org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer.getComponentInstance(AbstractDelegatingMutablePicoContainer.java:75)
at com.intellij.openapi.components.impl.ComponentManagerImpl.instantiateComponent(ComponentManagerImpl.java:198)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:53)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:102)
at com.intellij.openapi.components.impl.ComponentManagerImpl.initComponents(ComponentManagerImpl.java:262)
at com.intellij.openapi.project.impl.BaseFileConfigurable.initComponents(BaseFileConfigurable.java:1)
at com.intellij.openapi.project.impl.BaseFileConfigurable.init(BaseFileConfigurable.java:9)
at com.intellij.openapi.project.impl.ProjectImpl.init(ProjectImpl.java:104)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadProject(ProjectManagerImpl.java:68)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:3)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:0)
at com.intellij.idea.IdeaApplication.c(IdeaApplication.java:46)
at com.intellij.idea.IdeaApplication.access$400(IdeaApplication.java:65)
at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:2)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:20)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:174)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:29)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:83)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
It is also not compatible with IDEA 8.1 EAP build 9540.
There is some error messages in the log.
==============================
java.lang.AssertionError: No @State annotation found in class org.twodividedbyzero.idea.findbugs.FindBugsPlugin
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.e(ComponentStoreImpl.java:97)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.d(ComponentStoreImpl.java:104)
==============================
After adding the annotation and recompiling, I got the other error message.
==============================
2008-12-16 10:23:19,171 [ 226178] ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(96,15),button=1,modifiers=Button1,clickCount=1] on ###overrideRedirect###
java.lang.NoClassDefFoundError: edu/umd/cs/findbugs/IFindBugsEngine2
at org.twodividedbyzero.idea.findbugs.actions.AnalyzeCurrentEditorFile.
initWorker(AnalyzeCurrentEditorFile.java:130)
at org.twodividedbyzero.idea.findbugs.actions.AnalyzeCurrentEditorFile.
actionPerformed(AnalyzeCurrentEditorFile.java:75)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.
actionPerformed(ActionMenuItem.java:17)
==============================