Jenkins 中的不可读数据(CannotResolveClassException)

Unreadable Data (CannotResolveClassException) in Jenkins

我正在使用 Jenkins 1.646。我不断在“管理旧数据”部分收到无法读取的数据条目。

这些条目几乎出现在我的 Freestyle 项目中的每个构建中。构建完成得很好。有谁知道我需要做什么来纠正这个问题?我最近确实安装了 Pipeline 插件,它安装了十几个其他插件,所以我的猜测是某些东西与我的 jenkins 版本和/或我安装的另一个插件不兼容。

我想我明白了。我发现 VariableInjectionAction 是我们在构建步骤之一中使用的特定领域 class 内部 class。我们正在为每个构建使用 GroovyClassLoader 将其父 class 动态加载到 class 路径。看起来 jenkins 正试图跟踪用于特定构建的 运行 我们的 groovy 脚本的所有 classes,因为这是一个动态加载的内部 class,jenkins 无法找到存档构建的 class,因此会出现上述错误。

我假设如果我们以不同的方式加载 groovy 脚本,错误就会消失,例如预编译它们将它们放在根 jenkins class 路径上。目前,由于构建 运行 正常,我们可能不得不定期清理不可读的数据。

此外,这显然与我最初认为的与最近安装的插件冲突没有任何关系。