2012-05-05 35 views
0

我安裝了Hudson v2.20。我正在嘗試安裝FindBugs插件,但是當Hudson在下載插件後重新啓動時,插件無法加載以下錯誤。有沒有人看過這個?如果是這樣,我將如何解決它?Hudson CI和FindBugs/Static Analysis插件的問題

我使用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 
+0

它看起來非常像這樣:java.lang.LinkageError的:致裝載機(組織/ hudsonci /實例注入/內部/插件/ PluginClassLoader) :爲名稱嘗試重複的類定義:「org/apache/xerces/parsers/SAXParser」。 – khmarbaise

+0

嗨khmarbaise。我的問題是更多爲什麼發生異常。我是最新的Hudson版本,並且使用它的插件管理器來安裝FindBugs,所以看起來Hudson已經壞了。我想知道其他人是否有這個問題並解決了它。 –

回答

1

根據我的一位同事的建議,我安裝了Jenkins。一切工作第一次沒有錯誤。我猜這個社區已經轉移到了詹金斯身上,而且一旦甲骨文將它提交給日食基金會,人們就不會再回到哈德森了。

+0

使用Jenkins +1! –

1

抱歉,您對此有不好的體驗。這個插件是許多插件所有者指定爲兼容Hudson和Jenkins [1]的插件之一。不幸的是,詹金斯似乎通過改變其插件直接依賴的核心插件Maven插件來打破兼容性。 Hudson已經暫時恢復到早期版本的靜態分析,現在將直接分離並維護它和相關的插件。

哈德森非常努力,以保持兩個系統之間的兼容性,以及在過去一年中增加新的功能,例如從Sonatype的Maven的3集成和級聯功能的項目,以及提高性能和穩定性。這些並不反映在詹金斯身上。

Hudson是Eclipse的里程碑版本,將於6月份完全發佈,現在完成Eclipse的IP和源代碼檢查(以及相關的代碼和庫清理工作)的巨大任務即將完成。您可以在博客或Eclipse網站上閱讀更多內容[2]。它仍然蓬勃發展,哈德森用戶社區並沒有全部轉向。

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

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