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

已引入commons-collections4依赖仍报NoClassDefFoundError的OpenCsv问题

问题分析与解决

你遇到的NoClassDefFoundError本质是运行时类路径中缺少org.apache.commons.collections4.ListValuedMap类,结合你的依赖树信息,核心原因有两个:

  1. 你在pom中声明的commons-collections4:4.4被Maven依赖调解机制降级成了4.1,虽ListValuedMap在4.1版本中存在,但不排除版本兼容性或jar包损坏问题;
  2. 项目依赖中同时存在旧版commons-collections:3.2.2(来自commons-beanutils的传递依赖),虽包名与commons-collections4不同,但可能引发类加载优先级干扰。

解决步骤

1. 锁定commons-collections4版本

在pom的dependencyManagement节点中强制指定版本为4.4,确保Maven不会自动降级:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.4</version>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 排除旧版commons-collections

在opencsv的依赖中排除传递过来的旧版commons-collections,避免潜在类加载问题:

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.7.0</version>
    <exclusions>
        <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3. 清理并重新构建项目

  • 执行命令mvn clean install -U,强制更新依赖并重新编译;
  • 若使用IDE,执行「重新导入Maven项目」操作清除缓存;
  • 若仍异常,手动删除本地Maven仓库中commons-collections4目录(路径一般为~/.m2/repository/org/apache/commons/commons-collections4),再重新下载依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:10:37