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

使用OpenCSV(Maven)时如何解决NoClassDefFoundError问题?

解决java.lang.NoClassDefFoundError: org/apache/commons/lang3/ObjectUtils异常

异常原因

java.lang.NoClassDefFoundError表明JVM在运行时找不到org.apache.commons.lang3.ObjectUtils类,这个类属于Apache Commons Lang3工具库,你的项目要么没引入这个库,要么运行时类路径没包含对应的jar包。

解决方法

手动管理jar包的情况

  • 下载Apache Commons Lang3的jar包,将其放到项目的lib目录中。
  • 运行程序时,确保该jar包被加入类路径。比如命令行运行时:
    # Windows系统
    java -cp ".;lib/commons-lang3-x.x.jar;lib/opencsv-x.x.jar" 你的主类名
    
    # Linux/macOS系统
    java -cp ".:lib/commons-lang3-x.x.jar:lib/opencsv-x.x.jar" 你的主类名
    
    注:opencsv-x.x.jar是你使用CSVReader依赖的jar包,也要确保它在类路径中。

使用Maven管理项目的情况

在pom.xml中添加以下依赖:

<!-- Apache Commons Lang3 依赖 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.14.0</version> <!-- 可替换为最新稳定版 -->
</dependency>

<!-- opencsv 依赖(CSVReader所属库) -->
<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.6</version> <!-- 匹配你使用的版本 -->
</dependency>

执行mvn clean install更新依赖后重新运行程序。

使用Gradle管理项目的情况

在build.gradle中添加依赖:

implementation 'org.apache.commons:commons-lang3:3.14.0'
implementation 'com.opencsv:opencsv:5.6'

执行gradle build后重新运行程序。

顺带修正你的代码问题

原代码中,while循环结束后data会是null,后续的for循环会触发NullPointerException,同时catch块只打印"hiiii"无法排查异常,建议修改为:

try {
    CSVReader input = new CSVReader(new FileReader("s.csv"));
    String[] data;
    while ((data = input.readNext()) != null) {
        String id = data[0];
        String name = data[1];
        String password = data[2];
        String number = data[3];
        String gender = data[4];
        String mail = data[5];
        String department = data[6];
        
        // 把打印逻辑放到循环内,避免空指针
        for(int i = 0; i < data.length; i++) {
            System.out.println(data[i]);
        }
        System.out.println("==========================");
    }
} catch (Exception ex) {
    // 打印完整异常栈信息,便于排查问题
    ex.printStackTrace();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:15:31