Назад | Перейти на главную страницу

Хадсон начал терпеть неудачу с ClassNotFoundException

С сегодняшнего дня сборки maven в hudson начали давать сбой с этой трассировкой стека:

Parsing POMs
[workspace] $ /usr/lib/jvm/java-6-sun/bin/java -cp /usr/share/tomcat5.5/.hudson/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.377.jar:/usr/share/maven2/boot/classworlds.jar hudson.maven.agent.Main /usr/share/maven2 /var/lib/tomcat5.5/webapps/hudson/WEB-INF/lib/remoting-1.377.jar /usr/share/tomcat5.5/.hudson/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.377.jar 37299
<===[HUDSON REMOTING CAPACITY]===>���channel started
channel stopped
ERROR: Failed to parse POMs
java.io.IOException: Remote call on Channel to Maven [/usr/lib/jvm/java-6-sun/bin/java, -cp, /usr/share/tomcat5.5/.hudson/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.377.jar:/usr/share/maven2/boot/classworlds.jar, hudson.maven.agent.Main, /usr/share/maven2, /var/lib/tomcat5.5/webapps/hudson/WEB-INF/lib/remoting-1.377.jar, /usr/share/tomcat5.5/.hudson/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.377.jar, 37299] failed
 at hudson.remoting.Channel.call(Channel.java:566)
 at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
 at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:468)
 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
 at hudson.model.Run.run(Run.java:1273)
 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:291)
 at hudson.model.ResourceController.execute(ResourceController.java:88)
 at hudson.model.Executor.run(Executor.java:137)
Caused by: java.lang.NoClassDefFoundError: hudson/maven/agent/PluginManagerInterceptor
 at hudson.maven.MavenBuilder.call(MavenBuilder.java:218)
 at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:681)
 at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:625)
 at hudson.remoting.UserRequest.perform(UserRequest.java:114)
 at hudson.remoting.UserRequest.perform(UserRequest.java:48)
 at hudson.remoting.Request$2.run(Request.java:270)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 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:619)

Любые идеи?

Я видел это несколько раз на своих рабах сборки Hudson. Я не уверен, в чем заключается основная причина, но удаление рабочего пространства и разрешение Хадсону восстановить его и, в частности, повторно загрузить java, похоже, сработали.

Конечно, если это происходит на главном узле, это вам не сильно поможет.

Синхронизируется ли ваша версия плагина maven с версией hudson? Я бы также проверил, можете ли вы создавать проекты из командной строки. Как сказал dsolimano, он стирает рабочее пространство. Не уверен, как повторная загрузка java вписывается в картину.

Я этого не испытал, так как никогда не использую обновление со своим SCM. У меня возникли проблемы при использовании обновления с Subversion. Нам не удалось отследить основную причину (возможно, не синхронизированы часы), но для нас исправление всегда заключалось в удалении всей исходной папки и загрузке всего проекта. Поэтому мы всегда запускаем чистую сборку с нуля.