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 |