You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级plexus-utils至4.0.1后执行kieBuilder.buildAll()报错原因咨询

升级plexus-utils到4.0.1后执行kieBuilder.buildAll()出现NoClassDefFoundError的原因与解决方法

错误根源

从报错栈追踪能看出,核心问题是org.codehaus.plexus.util.xml.pull.XmlPullParserException类找不到,进而触发MavenSettings$SettingsHolder初始化失败。这是plexus-utils版本变更导致的兼容性问题:

  • plexus-utils 3.x版本中,XmlPullParserException是组件内置的类
  • 4.0.0及以上版本的plexus-utils做了架构拆分,把XML解析相关类移到了独立的plexus-xml组件中,原包下不再包含这个类
  • 你使用的kie-ci 7.73.0.Final依赖的org.appformer.maven.integration.embedder.MavenSettings类,初始化时仍会尝试加载这个已被移除的类,因此抛出NoClassDefFoundError

另外,kie 7.73.0.Final的依赖链本身默认依赖plexus-utils 3.x版本,强行升级到4.0.1打破了这种依赖兼容性。

解决办法

方法1:回退plexus-utils版本

直接将plexus-utils的版本改回3.5.1,或者使用kie依赖链中兼容的版本(可通过mvn dependency:tree命令查看kie-ci依赖的具体plexus-utils版本),快速解决类缺失问题:

<dependency>
    <groupId>org.codehaus.plexus</groupId>
    <artifactId>plexus-utils</artifactId>
    <version>3.5.1</version>
</dependency>

方法2:补充缺失的plexus-xml依赖

如果必须使用plexus-utils 4.x版本,需手动添加plexus-xml依赖,该组件包含被移除的XmlPullParserException类:

<dependency>
    <groupId>org.codehaus.plexus</groupId>
    <artifactId>plexus-xml</artifactId>
    <version>2.0.2</version> <!-- 选择与plexus-utils 4.0.1兼容的版本 -->
</dependency>

注意要确保plexus-xml的版本与plexus-utils 4.0.1兼容,避免引入新的依赖冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:52:27