Skip to content

Jenkins hudson.scm.SVNRevisionState cannot be cast to hudson.scm.SVNRevisionState

🏷️ Jenkins

Jenkins Jon 从 SVN 获取代码后报如下错误:

txt
构建中 在工作空间 D:\jenkins\workspace\workspace\Publish-SOA-A 中 
Updating https://192.168.0.1:8443/svn/2_SourceCode/Dev/Soa at revision '2018-06-15T16:46:28.934 +0800' --quiet 
Using sole credentials liujiajia/****** in realm ‘<https://192.168.0.1:8443> VisualSVN Server’ 
At revision 70672 
 
FATAL: hudson.scm.SVNRevisionState cannot be cast to hudson.scm.SVNRevisionState 
java.lang.ClassCastException: hudson.scm.SVNRevisionState cannot be cast to hudson.scm.SVNRevisionState 
	at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:757) 
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:892) 
	at hudson.scm.SCM.checkout(SCM.java:504) 
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1208) 
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574) 
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) 
	at hudson.model.Run.execute(Run.java:1794) 
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
	at hudson.model.ResourceController.execute(ResourceController.java:97) 
	at hudson.model.Executor.run(Executor.java:429) 
由于构建失败而跳过归档 
Finished: FAILURE

虽然这次执行报了错,但是再次执行时又可以正常获取并发布了。

查看了下 JOB 工作目录中的代码,已经获取到最新的代码了。

根据错误日志可以看出是在 hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:757) 这里出错的。

看方法名应该是在处理 SVN 提交的日志时出错了。

Subversion 插件的版本为 2.10.5。

百度到了一篇 Jenkins 通过 SVN update 后报错 FATAL: hudson.scm.SVNRevisionState cannot be cast to hudson.scm.SVNRevisionSt 说是 JOB 名有中文导致的,但我的 JOB 名中并没有中文。

So,最后还是不知道为什么出错了。

(╯▽╰)╭


貌似这个是官方的 Issue:ENKINS-27079:ClassCastException: hudson.scm.SVNRevisionState cannot be cast to hudson.scm.SVNRevisionState


删除然后再重装了 SVN 插件之后,貌似就好了。
ʅ(´◔౪◔)ʃ