You need to enable JavaScript to run this app. Jenkins v2.277.3 升级Token Macro插件后运行任务报扩展解析类创建错误
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins v2.277.3 升级Token Macro插件后运行任务报扩展解析类创建错误

当前环境与前置操作
  • 运行环境:Jenkins v2.277.3
  • 已完成的前置排障:参考同类型报错的处理经验,将Token Macro插件升级至v2.15版本
  • 已参考的同场景报错:Jenkins v2.212环境下出现的「Error creating extended parser class: Class not found」类问题的处理思路
构建过程触发的异常

执行构建任务时,Build Name Setter插件在设置构建名称阶段,触发如下运行时异常:

FATAL: Error creating extended parser class: null
java.lang.IllegalStateException
    at org.objectweb.asm.tree.analysis.BasicInterpreter.<init>(BasicInterpreter.java:66)
    at org.parboiled.transform.RuleMethodInterpreter.<init>(RuleMethodInterpreter.java:42)
    at org.parboiled.transform.InstructionGraphCreator.process(InstructionGraphCreator.java:41)
    at org.parboiled.transform.ParserTransformer.runMethodTransformers(ParserTransformer.java:62)
    at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:45)
    at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:39)
    at org.parboiled.Parboiled.createParser(Parboiled.java:54)
Caused: java.lang.RuntimeException: Error creating extended parser class: null
    at org.parboiled.Parboiled.createParser(Parboiled.java:58)
    at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:80)
    at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:74)
    at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:199)
    at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:237)
    at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:207)
    at org.jenkinsci.plugins.buildnamesetter.Executor.evaluateMacro(Executor.java:75)
    at org.jenkinsci.plugins.buildnamesetter.Executor.setName(Executor.java:30)
    at org.jenkinsci.plugins.buildnamesetter.BuildNameSetter.setUp(BuildNameSetter.java:84)
    at hudson.model.Build$BuildExecution.doRun(Build.java:157)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:513)
    at hudson.model.Run.execute(Run.java:1907)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
问题根因
  • 该异常属于典型的类加载版本冲突:Token Macro v2.15版本内置的Parboiled解析库为1.1.4旧版,依赖ASM 6.x版本的字节码处理接口
  • Jenkins v2.277.3核心模块内置的ASM库版本为9.x,接口签名已发生变更,旧版Parboiled在初始化解析类时,无法匹配新版ASM的BasicInterpreter构造方法逻辑,最终抛出类初始化失败的异常
可落地解决操作
  • 将Token Macro插件升级至v2.16及以上适配版本,该版本内置的Parboiled 1.4.8已完成对高版本ASM的适配,可从根源解决解析类初始化失败的问题
  • 升级完成后完整重启Jenkins服务,清理插件类加载缓存,避免旧版本Parboiled类残留导致的类优先级错乱
  • 若因平台依赖限制无法升级Token Macro版本,可临时降级Build Name Setter插件到不触发Token Macro扩展解析逻辑的版本,绕开异常触发路径

内容的提问来源于stack exchange,提问作者Javatar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 07:06:01