我有一个测试和生产 Jenkins 2.0 实例 (2.19.3)。我正在使用 Job DSL 插件 (1.53) 为许多不同的分支生成管道 DSL。
我在测试实例上安装并升级了所有插件,并验证了种子作业可以构建。在生产实例上执行相同操作后,运行种子作业时出现此错误:
Caused by: java.lang.ClassNotFoundException: java.lang$Enum
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677)
at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:425)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:787)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:775)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
... 80 more
ERROR: Type java.lang$Enum not present
additonalClasspath 设置为 src/main/groovy
This post是我见过的关于同一问题的唯一其他示例。我也可以将枚举修改为一组字符串常量,但更愿意解决问题的根本原因。
关于如何进一步调试它有什么建议吗?
请您参考如下方法:
我无法弄清楚发生这种情况的原因,但在我自己遇到这种情况后,我发现重新启动服务可以解决问题