Rob*_*ner 2 continuous-integration maven-2 hudson findbugs maven-plugin
更新
从Hudson Findbugs插件版本4.3开始,这不再是一个问题
结束更新
作为我的问题的一个例子,我正在尝试构建以下项目http://www.sonatype.com/books/mvnex-book/reference/multimodule.html
我将以下内容添加到simple-parent/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>
Run Code Online (Sandbox Code Playgroud)
以下是simple-weather/pom.xml和simple-webapp/pom.xml
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我将以下可怕的equals方法插入到其中一个类中,以使FindBugs生成一些问题(因为0错误没有错误):
public boolean equals(Object o) { return true; }
Run Code Online (Sandbox Code Playgroud)
我正在使用Hudson和maven2风格的项目.这项工作的目标是实现目标的简单父母
clean site
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
[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)
Run Code Online (Sandbox Code Playgroud)
版本信息:
有想法该怎么解决这个吗?
根据FindBugs FAQ,当使用错误版本的Apache BCEL时会出现此问题(参见Q2:当我单击"Find Bugs!"按钮时,我得到NoSuchMethodError或VerifyError).在你的情况下,我怀疑maven-findbugs-plugin是从JBoss获取BCEL库的,因为一些模糊的类加载问题.在Hudson的Jira中有一些非常相似的错误,例如HUDSON-5134(哈德森 findbugs插件也受到影响).
我的理解是这个问题最近已经引入(在v1.338中),即使有一个解决方法,它也是一个Hudson错误(它是一个回归,它不是JBoss的问题).
现在,您有IMO两个解决方案:
bcel.jar
JBoss(in server/SERVERNAME/lib
)(请参阅依赖项).我无法确切地说这将如何影响JBoss(如果你删除它,似乎你将失去在调试模式下运行JBoss的能力,但我不能说如果你替换它一切都会正常工作) .无论你做什么,请创建一个新的Jira问题(http://issues.hudson-ci.org/),因为这是Hudson的回归.他们将HUDSON-5134标记为"无法修复",因为有一种解决方法,但我不认为搞乱JBoss库是一个很好的解决方案(我重复自己,但这是一个Hudson错误).因此,坚持并让Hudson开发人员知道其他用户受此问题的影响将有助于整个社区(至少,我希望如此).
归档时间: |
|
查看次数: |
3023 次 |
最近记录: |