| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <title>FindBugs FAQ</title> | 3 <title>FindBugs FAQ</title> |
| 4 <link rel="stylesheet" type="text/css" href="findbugs.css"> | 4 <link rel="stylesheet" type="text/css" href="findbugs.css"> |
| 5 | 5 |
| 6 </head> | 6 </head> |
| 7 | 7 |
| 8 <body> | 8 <body> |
| 9 | 9 |
| 10 <table width="100%"><tr> | 10 <table width="100%"><tr> |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 <pre> | 92 <pre> |
| 93 java.lang.NoSuchMethodError: org.apache.bcel.Repository.setRepository(Lorg/apach
e/bcel/util/Repository;)V | 93 java.lang.NoSuchMethodError: org.apache.bcel.Repository.setRepository(Lorg/apach
e/bcel/util/Repository;)V |
| 94 at edu.umd.cs.findbugs.FindBugs.clearRepository(FindBugs.java:483) | 94 at edu.umd.cs.findbugs.FindBugs.clearRepository(FindBugs.java:483) |
| 95 ... | 95 ... |
| 96 </pre> | 96 </pre> |
| 97 | 97 |
| 98 or | 98 or |
| 99 | 99 |
| 100 <pre> | 100 <pre> |
| 101 java.lang.VerifyError: Cannot inherit from final class | 101 java.lang.VerifyError: Cannot inherit from final class |
| 102 » at java.lang.ClassLoader.defineClass0(Native Method) | 102 at java.lang.ClassLoader.defineClass0(Native Method) |
| 103 » at java.lang.ClassLoader.defineClass(ClassLoader.java:537) | 103 at java.lang.ClassLoader.defineClass(ClassLoader.java:537) |
| 104 » ... | 104 ... |
| 105 </pre> | 105 </pre> |
| 106 | 106 |
| 107 <p> The problem here is that the wrong version of the | 107 <p> The problem here is that the wrong version of the |
| 108 <a href="http://jakarta.apache.org/bcel/">Apache BCEL</a> | 108 <a href="http://jakarta.apache.org/bcel/">Apache BCEL</a> |
| 109 library is being found. FindBugs requires its own | 109 library is being found. FindBugs requires its own |
| 110 version of BCEL, which normally will be used automatically | 110 version of BCEL, which normally will be used automatically |
| 111 when you invoke the <code>findbugs</code> or <code>findbugs.bat</code> | 111 when you invoke the <code>findbugs</code> or <code>findbugs.bat</code> |
| 112 scripts used to launch FindBugs. If an old version of BCEL is installed | 112 scripts used to launch FindBugs. If an old version of BCEL is installed |
| 113 in a location, such as "lib/endorsed" in the JRE installation, | 113 in a location, such as "lib/endorsed" in the JRE installation, |
| 114 where it overrides classes on the application classpath, | 114 where it overrides classes on the application classpath, |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 | 187 |
| 188 <p> The symptom of this problem is that Eclipse fails to load | 188 <p> The symptom of this problem is that Eclipse fails to load |
| 189 the FindBugs UI plugin with the message: | 189 the FindBugs UI plugin with the message: |
| 190 <blockquote> | 190 <blockquote> |
| 191 Plug-in "edu.umd.cs.findbugs.plugin.eclipse" was disabled due to missing or disa
bled | 191 Plug-in "edu.umd.cs.findbugs.plugin.eclipse" was disabled due to missing or disa
bled |
| 192 prerequisite plug-in "org.eclipse.ui.ide" | 192 prerequisite plug-in "org.eclipse.ui.ide" |
| 193 </blockquote> | 193 </blockquote> |
| 194 | 194 |
| 195 <p> The reason for this problem is that the Eclipse | 195 <p> The reason for this problem is that the Eclipse |
| 196 plugin distributed with FindBugs | 196 plugin distributed with FindBugs |
| 197 does not work with 2.x versions of Eclipse. | 197 does not work with older 3.x versions of Eclipse. |
| 198 Please use Eclipse version 3.3 (June 2007) or newer. | 198 Please use Eclipse version 3.6 (June 2010) or newer. |
| 199 | 199 |
| 200 <h2><a name="q6">Q6: I'm getting a lot of false "OS" and "ODR" warnings</a></h2> | 200 <h2><a name="q6">Q6: I'm getting a lot of false "OS" and "ODR" warnings</a></h2> |
| 201 | 201 |
| 202 <p> By default, FindBugs assumes that any method invocation can | 202 <p> By default, FindBugs assumes that any method invocation can |
| 203 throw an unchecked runtime exception. As a result, | 203 throw an unchecked runtime exception. As a result, |
| 204 it may assume that an unchecked exception thrown out of the | 204 it may assume that an unchecked exception thrown out of the |
| 205 method could bypass a call to a <code>close()</code> method | 205 method could bypass a call to a <code>close()</code> method |
| 206 for a stream or database resource. | 206 for a stream or database resource. |
| 207 | 207 |
| 208 <p> You can use the <code>-workHard</code> command line argument | 208 <p> You can use the <code>-workHard</code> command line argument |
| 209 or the <code>findbugs.workHard</code> boolean analysis property | 209 or the <code>findbugs.workHard</code> boolean analysis property |
| 210 to make FindBugs work harder to prune unlikely exception | 210 to make FindBugs work harder to prune unlikely exception |
| 211 edges. This generally reduces the number of | 211 edges. This generally reduces the number of |
| 212 false warnings, at the expense of slowing down the | 212 false warnings, at the expense of slowing down the |
| 213 analysis. | 213 analysis. |
| 214 | 214 |
| 215 <h2><a name="q7">Q7: The Eclipse plugin loads, but doesn't work correctly</a></h
2> | 215 <h2><a name="q7">Q7: The Eclipse plugin loads, but doesn't work correctly</a></h
2> |
| 216 | 216 |
| 217 <p> In versions 0.0.6 and 0.0.7 of the FindBugs Eclipse plugin, | 217 <p> Make sure the Java code you trying to analyze is built properly and has no |
| 218 which correspond to the 0.7.4 and 0.8.0 releases, | 218 classpath or compile errors. |
| 219 bugs in the experimental SwitchFallthrough detector can prevent | |
| 220 FindBugs from running properly within Eclipse. | |
| 221 | 219 |
| 222 <p> To work around the problem, make sure that SwitchFallthrough | 220 <p> Make sure the project and workspace FindBugs settings are valid - in doubt,
revert them to defaults. |
| 223 is disabled in the FindBugs Properties of your project. | |
| 224 Right click on your project, and choose "Properties". | |
| 225 In the Properties dialog, choose "FindBugs", | |
| 226 and disable the checkbox next to SwitchFallthrough. | |
| 227 | 221 |
| 228 <p> Another common problem with the Eclipse plugin is that | 222 <p> Make sure the Error log view does not show errors. |
| 229 the FindBugs warnings do not appear in the "Problems" view. | |
| 230 Make sure that FindBugs warnings are enabled in the filters | |
| 231 for this view. The Filters menu is accessible by | |
| 232 clicking on the icon that looks like this: | |
| 233 <blockquote> | |
| 234 <img src="eclipse-filters-icon.png"> | |
| 235 </blockquote> | |
| 236 Make sure the "FindBugs Problem" checkbox is enabled. | |
| 237 | 223 |
| 238 <h2><a name="q8">Q8: Where is the Maven plugin for FindBugs?</a></h2> | 224 <h2><a name="q8">Q8: Where is the Maven plugin for FindBugs?</a></h2> |
| 239 | 225 |
| 240 <p> | 226 <p> |
| 241 The <a href="http://maven.apache.org/">Maven</a> Plugin for FindBugs | 227 The <a href="http://maven.apache.org/">Maven</a> Plugin for FindBugs |
| 242 may be found <a href="http://mojo.codehaus.org/findbugs-maven-plugin/">here</a>.
| 228 may be found <a href="http://mojo.codehaus.org/findbugs-maven-plugin/">here</a>.
|
| 243 Please note that the Maven plugin is not maintained by the FindBugs developers, | 229 Please note that the Maven plugin is not maintained by the FindBugs developers, |
| 244 so we can't answer questions about it. | 230 so we can't answer questions about it. |
| 245 </p> | 231 </p> |
| 246 | 232 |
| 247 <h2><a name="q9">Q9: Where is the NetBeans plugin for FindBugs?</a></h2> | 233 <h2><a name="q9">Q9: Where is the NetBeans plugin for FindBugs?</a></h2> |
| 248 | 234 |
| 249 <p>We recommend <a href="http://kenai.com/projects/sqe/pages/Home">SQE: Software
Quality Environment</a> | 235 <p>We recommend <a href="http://kenai.com/projects/sqe/pages/Home">SQE: Software
Quality Environment</a> |
| 250 which bundles FindBugs, PMD and CheckStyle. Use the following | 236 which bundles FindBugs, PMD and CheckStyle. Use the following |
| 251 update site: | 237 update site: |
| 252 <a href="http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/bu
ild/full-sqe-updatecenter/updates.xml | 238 <a href="http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/bu
ild/full-sqe-updatecenter/updates.xml |
| 253 ">http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/ful
l-sqe-updatecenter/updates.xml</a>a> | 239 ">http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/ful
l-sqe-updatecenter/updates.xml</a> |
| 254 <p>Pease note that the SQE plugin is not maintained by the FindBugs developers, | 240 <p>Pease note that the SQE plugin is not maintained by the FindBugs developers, |
| 255 so we can't answer questions about it. | 241 so we can't answer questions about it. |
| 256 </p> | 242 </p> |
| 257 | 243 |
| 258 | 244 |
| 259 <hr> <p> | 245 <hr> <p> |
| 260 <script language="JavaScript" type="text/javascript"> | 246 <script language="JavaScript" type="text/javascript"> |
| 261 <!---//hide script from old browsers | 247 <!---//hide script from old browsers |
| 262 document.write( "Last updated "+ document.lastModified + "." ); | 248 document.write( "Last updated "+ document.lastModified + "." ); |
| 263 //end hiding contents ---> | 249 //end hiding contents ---> |
| 264 </script> | 250 </script> |
| 265 <p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbu
gs@cs.umd.edu</a> | 251 <p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbu
gs@cs.umd.edu</a> |
| 266 <p> | 252 <p> |
| 267 <A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?gro
up_id=96405&type=5" width="210" height="62" border="0" alt="SourceForge.net
Logo" /></A> | 253 <A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?gro
up_id=96405&type=5" width="210" height="62" border="0" alt="SourceForge.net
Logo" /></A> |
| 268 | 254 |
| 269 </td> | 255 </td> |
| 270 | 256 |
| 271 </table> | 257 </table> |
| 272 | 258 |
| 273 </body> | 259 </body> |
| 274 | 260 |
| 275 </html> | 261 </html> |
| OLD | NEW |