0

我安装了 Hudson v2.20。我正在尝试安装 FindBugs 插件,但是当 Hudson 在下载插件后重新启动时,插件无法加载并出现以下错误。有没有其他人看过这个?如果是这样,我将如何解决它?

我使用 Hudson 插件界面安装了插件。我的猜测是该插件由于某种原因与 Hudson 版本不兼容?

hudson.util.IOException2: Failed to load plugin instance for: analysis-core
    at org.hudsonci.inject.internal.plugin.SmoothiePluginStrategy.load(SmoothiePluginStrategy.java:193)
    at org.hudsonci.inject.internal.plugin.DelegatingPluginStrategy.load(DelegatingPluginStrategy.java:72)
    at hudson.PluginManager$2$1$1.run(PluginManager.java:297)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
    at hudson.model.Hudson$4.runTask(Hudson.java:698)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
    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:662)
Caused by: java.lang.LinkageError: loader (instance of  org/hudsonci/inject/internal/plugin/PluginClassLoader): attempted  duplicate class definition for name: "org/apache/xerces/parsers/SAXParser"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:139)
    at org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass(ExtensibleURLClassLoader.java:63)
    at org.aspectj.weaver.loadtime.WeavingURLClassLoader.defineClass(WeavingURLClassLoader.java:151)
    at org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass(ExtensibleURLClassLoader.java:97)
    at org.aspectj.weaver.bcel.ExtensibleURLClassLoader.findClass(ExtensibleURLClassLoader.java:52)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at hudson.ClassicPluginStrategy$DependencyClassLoader.findClass(ClassicPluginStrategy.java:426)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:49)
    at org.xml.sax.helpers.XMLReaderFactory.loadClass(XMLReaderFactory.java:187)
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:150)
    at org.aspectj.weaver.loadtime.definition.DocumentParser.getXMLReader(DocumentParser.java:167)
    at org.aspectj.weaver.loadtime.definition.DocumentParser.saxParsing(DocumentParser.java:137)
    at org.aspectj.weaver.loadtime.definition.DocumentParser.parse(DocumentParser.java:117)
    at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions(ClassLoaderWeavingAdaptor.java:258)
    at org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions(DefaultWeavingContext.java:130)
    at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:161)
    at org.aspectj.weaver.loadtime.WeavingURLClassLoader.createAdaptor(WeavingURLClassLoader.java:171)
    at org.aspectj.weaver.loadtime.WeavingURLClassLoader.defineClass(WeavingURLClassLoader.java:132)
    at org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass(ExtensibleURLClassLoader.java:97)
    at org.aspectj.weaver.bcel.ExtensibleURLClassLoader.findClass(ExtensibleURLClassLoader.java:52)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.hudsonci.inject.internal.plugin.SmoothiePluginStrategy.loadPluginClass(SmoothiePluginStrategy.java:217)
    at org.hudsonci.inject.internal.plugin.SmoothiePluginStrategy.load(SmoothiePluginStrategy.java:188)
    ... 10 more
4

2 回答 2

1

抱歉,您对此有不好的体验。该插件是插件所有者指定为与 Hudson 和 Jenkins [1] 兼容的众多插件之一。不幸的是,Jenkins 似乎通过更改其 maven-plugin 打破了这种兼容性,这是该插件直接依赖的核心的一部分。Hudson 暂时恢复到早期版本的静态分析,现在将直接分叉和维护它和相关插件。

Hudson 非常努力地保持两个系统之间的兼容性,并添加了新的功能,例如 Sonatype 的 Maven 3 集成和 Cascading 项目功能,以及在过去一年中提高了性能和稳定性。这些都没有反映在 Jenkins 中。

Hudson 是 Eclipse 的里程碑版本,由于通过 Eclipse 的 IP 和出处检查(以及相关的代码和库清理)的艰巨任务即将完成,因此将于 6 月完全发布。您可以在博客或 Eclipse 站点 [2] 上阅读更多相关信息。它仍在蓬勃发展,而 Hudson 的用户社区并没有全部向前发展。

[1] http://wiki.hudson-ci.org/display/HUDSON/Plugins#Plugins-tier3

[2] http://www.eclipse.org/hudson

于 2012-05-15T14:02:36.083 回答
1

在我的一位同事的建议下,我安装了Jenkins。一切都是第一次工作,没有错误。我猜社区已经转向了 Jenkins,一旦甲骨文将它交给了 eclipse 基金会,没有人会费心回到 hudson。

于 2012-05-05T14:48:13.437 回答