Jenkins构建错误java.lang.ClassNotFoundException:hudson.remoting.Launcher

问题描述 投票:9回答:3

我正在尝试将jenkins与svn集成。我已经配置了maven_home,java_home(java 1.5 update 22)。我使用的是jenkins版本1.459。我的一位同事用svn.But成功配置了jenkins,因为现在我们正在使用不同的分支,我想添加一个新工作,以便从新分支结账并持续集成项目。 Jenkins在远程linux机器上运行,我使用vpn连接到服务器并设置东西。我错过了什么。

Modules changed, recalculating dependency graph
[workspace] $ /usr/lib/jvm/jdk1.5.0_22/bin/java -cp /home/vimukthi/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/home/vimukthi/.jenkins/tools/Maven_3.0.3/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /home/vimukthi/.jenkins/tools/Maven_3.0.3 /tmp/Jetty_0_0_0_0_2080_jenkins.war__jenkins__.wq5y0j/webinf/WEB-INF/lib/remoting-2.13.jar /home/vimukthi/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar 45339

Exception in thread "main" java.lang.ClassNotFoundException: hudson.remoting.Launcher
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:130)
    at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:63)
ERROR: Failed to parse POMs
java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.FilterInputStream.read(FilterInputStream.java:116)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at hudson.remoting.ClassicCommandTransport.create(ClassicCommandTransport.java:98)
    at hudson.remoting.Channel.<init>(Channel.java:373)
    at hudson.remoting.Channel.<init>(Channel.java:369)
    at hudson.remoting.Channel.<init>(Channel.java:330)
    at hudson.remoting.Channel.<init>(Channel.java:326)
    at hudson.remoting.Channel.<init>(Channel.java:322)
    at hudson.slaves.Channels$1.<init>(Channels.java:71)
    at hudson.slaves.Channels.forProcess(Channels.java:71)
    at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:237)
    at hudson.maven.ProcessCache.get(ProcessCache.java:231)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:706)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
    at hudson.model.Run.run(Run.java:1413)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:479)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Sending e-mails to: [email protected]
Finished: FAILURE
java continuous-integration hudson jenkins jenkins-plugins
3个回答
10
投票

看起来我设法解决了这个问题。断开并重新连接从站只能暂时解决它。但我所做的是,我改变了master和slave运行的java。现在我的奴隶和主人用完全相同版本的java(6u41 32bit)运行,大约3个星期我们不会遇到这种问题。


2
投票

通过破坏slave的构建根目录中的库可以重现此错误。在这种情况下,重新连接从站可以修复这种情况,因为通过重新连接从站,jenkins会复制所有必需的库等。

要查看此操作,请在重新连接时观看jenkins控制台,您将看到如下内容:

Slave.jar版本:2.28

这是一个Unix奴隶

复制maven-agent.jar

复制maven3-agent.jar复制maven3-interceptor.jar

复制的maven-interceptor.jar

复制了maven2.1-interceptor.jar复制了plexus-classworld.jar

复制的classworlds.jar

所以,最新发生的是,所有的库都被jenkins重新同步。这可以归结为詹金斯中的一个错误(imho)...理想情况下,奴隶应该对这类失败很强大。


0
投票

我在测试环境中已经多次看到这个问题并且提供slave.jar解决了这个问题。

不幸的是,每当环境重建时,有一个工作只移动了maven-agent *而不是slave.jar,我们曾经反复面对这个问题。

复制slave.jar解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.