簡體   English   中英

Jenkins 從站拋出“從系統類加載器禁用的類加載”異常

[英]Jenkins slave throws “Classloading from system classloader disabled” exception

在從屬實例(AIX 5.3 上的主控;Windows 2008(R2) 上的從屬)上運行 Maven2 作業時,我收到以下消息(完整的堆棧跟蹤粘貼在下面):“java.lang.ClassNotFoundException: Classloading from system classloader disabled ”。 從屬實例啟動后的第一個作業會發生這種情況(它作為 Windows 服務運行)。 之后,我收到“java.lang.NoClassDefFoundError:無法初始化 class hudson.maven.MavenModuleSetBuild”錯誤。

如果我創建一個自由式作業,並將 maven 命令作為批處理命令包含在從屬設備上運行,則它可以正常工作。 Maven2 作業似乎在從機上找到 Maven,但顯然找不到 maven-plugin(可能是由於類加載錯誤)。

我已經搜索並發布了一張到 jenkins-ci 網站的票,但到目前為止還沒有運氣。 有沒有人遇到過這個問題?

Stacktrace:
Found mavenVersion 2.2.1 from file jar:file:/C:/apache-maven-2.2.1/lib/maven-2.2.1-uber.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties
Parsing POMs
ERROR: Failed to parse POMs
hudson.util.IOException2: remote file operation failed: c:\jenkins-slave\workspace\AO_SISO_AT-smoketest-CIT1 at hudson.remoting.Channel@7b827b82:10.40.163.105
    at hudson.FilePath.act(FilePath.java:752)
    at hudson.FilePath.act(FilePath.java:738)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:817)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:617)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:429)
    at hudson.model.Run.run(Run.java:1374)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:467)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: Remote call on 10.40.163.105 failed
    at hudson.remoting.Channel.call(Channel.java:652)
    at hudson.FilePath.act(FilePath.java:745)
    ... 8 more
Caused by: java.lang.ExceptionInInitializerError
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1236)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1110)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1956)
    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at hudson.remoting.Engine$1$1.run(Engine.java:60)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.thoughtworks.xstream.XStream$InitializationException: Could not instantiate converter : com.thoughtworks.xstream.converters.extended.DurationConverter : null
    at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream.java:735)
    at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:699)
    at com.thoughtworks.xstream.XStream.<init>(XStream.java:445)
    at com.thoughtworks.xstream.XStream.<init>(XStream.java:385)
    at com.thoughtworks.xstream.XStream.<init>(XStream.java:323)
    at hudson.util.XStream2.<init>(XStream2.java:62)
    at hudson.model.Run.<clinit>(Run.java:1867)
    ... 13 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream.java:728)
    ... 19 more
Caused by: javax.xml.datatype.DatatypeConfigurationException: Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found
    at javax.xml.datatype.DatatypeFactory.newInstance(Unknown Source)
    at com.thoughtworks.xstream.converters.extended.DurationConverter.<init>(DurationConverter.java:33)
    ... 24 more
Caused by: java.lang.ClassNotFoundException: Classloading from system classloader disabled
    at java.lang.Throwable.<init>(Throwable.java:56)
    at java.lang.Throwable.<init>(Throwable.java:80)
    at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:80)
    at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch2(RemoteClassLoader.java:399)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:615)
    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:432)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
    at java.lang.Thread.run(Thread.java:799)

我有類似的問題。 研究了互聯網,但沒有得到任何解決方案。 最后調試了 jenkins/hudson 並解決了這個問題。

此錯誤的根本原因是最新版本的 jenkin 在 jenkins.war 文件中附帶了 xml 解析器。 看起來如果您的服務器已經有這個 jar 文件,它不會讓 jenkin 應用程序重新加載自己的 xml 解析器版本。 所以為了解決這個問題,我從 jenkins.war 文件的 WEB-INF/lib 目錄中刪除了文件 xercesImpl-2.9.1.jar。 之后替換現有的war文件並重新啟動服務器。 它的工作沒有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM