更新如何讓Hudson生成FindBugs報表而不會因異常而失敗?
隨着哈德森的FindBugs插件版本4.3這不再是一個問題
末更新
由於我的問題的一個例子,我試圖建立以下項目http://www.sonatype.com/books/mvnex-book/reference/multimodule.html
添加以下簡單的父/ pom.xml的
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
</plugins>
</reporting>
而下面簡單天氣/ pom.xml的,但簡單的webapp/pom.xml的
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
我插入下面可怕的equals方法進入班有FindBugs的產生一些問題之一(如0錯誤沒有錯誤):
public boolean equals(Object o) { return true; }
我使用哈德森與maven2風格的項目。這項工作的目的是在簡單父POM與目標
clean site
我得到以下異常:
[INFO] Generating "FindBugs Report" report.
[java] Warnings generated: 2
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot inherit from final class
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch2(RemoteClassLoader.java:370)
at sun.reflect.GeneratedMethodAccessor594.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:274)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)
版本信息:
- 的Maven 2.2.1
- 的Java 1.5.0_22
- 在JBoss 4.0.5.GA內部運行的Hudson 1.341(也在1.339上找到)(在4.2.2.GA和5上有相同的錯誤.1.0.GA)
- 的Maven插件FindBugs的2.3
- 哈德森FindBugs的插件4.1
關於如何解決此問題的任何想法?
當我第一次嘗試安裝FindBugs插件*時,有這個確切的相同的問題*昨天* ..在這裏敲我的頭認爲這是我!感謝您的快速提問和更新。 – Tim 2010-02-02 17:50:50