由于 NoClassDefFoundError - ParseResultCallable,Jenkins 无法生成测试报告

Jenkins unable to generate test report due to NoClassDefFoundError - ParseResultCallable

我设置了一个 Jenkins 作业来 运行 一些集成测试。测试完成后,Jenkins 应该在设置中查找测试报告。但是,它给出以下错误:

Recording test results
ERROR: Publisher hudson.tasks.junit.JUnitResultArchiver aborted due to exception
java.lang.NoClassDefFoundError: hudson/tasks/junit/JUnitParser$ParseResultCallable
at hudson.tasks.junit.JUnitParser.parseResult(JUnitParser.java:90)
at hudson.tasks.junit.JUnitResultArchiver.parse(JUnitResultArchiver.java:120)
at hudson.tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:137)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:74)
at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683)
at hudson.model.Run.execute(Run.java:1779)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Finished: FAILURE

这是我的 Publish Junit 结果设置:

我检查了工作区中那些 xml 文件的路径,它们确实存在。我不确定可能出了什么问题。我的 JUnit 插件版本是 1.5.

您构建中的 JUnit 版本与加载到 Jenkins 中的版本不匹配。 https://issues.jenkins-ci.org/browse/JENKINS-24946 可能会提供一些见解,但总的来说,您需要非常小心版本兼容。

我认为存在一些配置问题,配置中的某个地方没有更新到最新版本。
在某些时候,您必须使用最新版本。
而不是降级只是创建一个新的项目分支。 我创建了项目的新分支,然后构建顺利进行,尽管旧分支仍然失败。所以你最好通过创建新分支来使用最新版本的 JUNIt,jenkin 会自动选择它。

  1. 同时清除当前工作区可能会有帮助