将 Opencsv jar 添加到项目后出现 NoClassDefFoundError
NoClassDefFoundError after adding Opencsv jar to project
我已将 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 添加到项目中的某些步骤?
`
参见 javadoc,共 API
CSVWriter 在 au.com.bytecode.opencsv 包中
从 here 交叉列出,这是我对问题的解决方案:
由于完全相同的错误,我一直在努力使用 Maven 和 eclipse 设置 OpenCSV 一段时间。最终我放弃了 OpenCSV 并使用了 CSVParser instead,它可以从 Apache Commons 获得并且更容易工作。
使用依赖项 listed here 更新您的 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 );
}
}
我已将 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 添加到项目中的某些步骤?
`
参见 javadoc,共 API
CSVWriter 在 au.com.bytecode.opencsv 包中
从 here 交叉列出,这是我对问题的解决方案:
由于完全相同的错误,我一直在努力使用 Maven 和 eclipse 设置 OpenCSV 一段时间。最终我放弃了 OpenCSV 并使用了 CSVParser instead,它可以从 Apache Commons 获得并且更容易工作。
使用依赖项 listed here 更新您的 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 );
}
}