在将Opencsv jar添加到项目后出现NoClassDefFoundError错误

3

我已经将open csv jar添加到我的项目中,以便以csv格式将数据写入文件。

使用以下步骤添加了jar文件:

1.Properties --> Add external jars --> opencsv-3.1.jar
2.Order & Eport tab --> tick, opencsv-3.1.jar

但是当我运行项目时,出现了一个错误,指出opencsv jar中的一个方法找不到:java.lang.NoClassDefFoundError: com.opencsv.CSVWriter

有没有人知道如何解决这个错误,或者我是否忘记了在项目中添加jar的某些步骤?

`

2个回答

1

请查看API的javadoc

CSVWriter位于au.com.bytecode.opencsv包中。


你的意思是我需要下载一个不同的jar文件,因为这种方法不在我当前的jar文件中?另外,你能提供相关下载的链接吗?谢谢。 - Brian Var
这是一个特定的JAR文件吗?我下载的是3.1版本的。 - Brian Var
您可以通过Javadoc文档或类似WinRAR的压缩工具提取jar包,也可以在使用集成开发环境(IDE)时参考库中查看所需类所在的包。 - Tkachuk_Evgen
你的API包和导入的API包不是同一回事。com.opencsv是你的应用程序中的一个包吗? - Tkachuk_Evgen
我的应用程序中的包是这个jar文件:http://sourceforge.net/projects/opencsv/ 那么我需要导入一个不同的jar文件来打开csv文件吗?你知道是哪个版本吗? - Brian Var

1
作为从这里交叉列出的,这是我对问题的解决方案:
由于完全相同的错误,我一直在努力使用Maven和eclipse设置OpenCSV,最终放弃了OpenCSV,改用CSVParser,它可从Apache Commons获取,并且更容易使用。
使用此处列出的依赖项更新您的POM,以下内容将立即生效:
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

import java.io.FileReader;
import java.io.Reader;

public class importFile {
    public static void main(String[] args) {
        Reader in = new FileReader( csvFileInput );
        CSVParser parser = new CSVParser( in, CSVFormat.DEFAULT );
        List<CSVRecord> list = parser.getRecords();

        for( CSVRecord row : list )
            for( String entry : row )
                System.out.println( entry );
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接