繁体   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