Jenkins执行Maven+Selenium自动化测试后构建成功却失败
解决Jenkins测试通过但构建失败的问题
问题根源
你遇到的java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.ClassWorldListener错误,本质是Jenkins的Maven插件和项目使用的Maven版本不兼容,或者Jenkins中配置的Maven存在依赖缺失,导致测试执行完成后,POM解析环节出问题,把本该成功的构建标记为失败。
具体解决步骤
检查Maven插件与Maven版本兼容性
进入Jenkins的「插件管理」,找到「Maven Integration plugin」,确保插件版本和项目使用的Maven版本匹配。比如你用Maven 3.8及以上版本,插件最好更新到3.10.0以上,旧版本插件对新Maven的类支持不全,容易触发这类错误。重新配置Jenkins的Maven安装
- 打开Jenkins的「全局工具配置」,找到「Maven」配置模块。
- 如果之前是选择自动安装Maven,改成手动指定本地已验证可用的Maven路径——确保这个Maven是完整安装的,没有依赖缺失。
- 保存配置后重新触发构建,观察是否还出现该错误。
清理缓存和工作空间
- 在Jenkins项目页面点击「工作空间」→「删除工作空间」,清理之前构建留下的残留文件。
- 登录Jenkins服务器,找到Maven本地仓库(默认路径为
~/.m2/repository),删除org/codehaus/plexus相关的文件夹,然后重新构建,让Maven重新下载完整的依赖包。
对齐项目POM的Maven版本
检查项目POM中如果使用maven-enforcer-plugin限制了Maven版本,要和Jenkins中配置的Maven版本保持一致,避免跨版本的依赖冲突。
内容的提问来源于stack exchange,提问作者Prashant bhushan
相关产品推荐
相关产品推荐

