NoClassDefFoundError:com.opencsv.CSVWriter

我尝试使用opencsv libray来获取加密格式数据。 但在写入CSV编写器时,我得到“NoClassDefFoundError”。 我已经看到许多相关错误的post,并且几乎尝试了所有的事情,但仍然无法纠正问题。 下面链接有相同的错误。

csv description1

csv description2

CSVHelper代码:

public String stringify(List objects) throws IllegalArgumentException { if (objects == null || objects.isEmpty()) throw new IllegalArgumentException("List of objectes passed is either null or empty"); List strList = new ArrayList(); // add header record strList.add(objects.get(0).getColumnHeaders()); Iterator it = objects.iterator(); while (it.hasNext()) { SerializeableToCSV element = it.next(); strList.add(element.getValueList()); } StringWriter writer = new StringWriter(); CSVWriter csvWriter = new CSVWriter(writer, CSVHelper.VALUE_SEPERATOR, CSVWriter.NO_QUOTE_CHARACTER); csvWriter.writeAll(strList); try { csvWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return writer.toString(); } 

在此处输入图像描述

我的libs文件夹中所有打开的csv库。

错误日志:

 04-14 16:03:09.260: E/AndroidRuntime(13047): java.lang.NoClassDefFoundError: com.opencsv.CSVWriter 04-14 16:03:09.260: E/AndroidRuntime(13047): at com.stellapps.encryption.CSVHelper.stringify(CSVHelper.java:62) 04-14 16:03:09.260: E/AndroidRuntime(13047): at com.stellapps.encryption.Csv.createCSVString(Csv.java:62) 04-14 16:03:09.260: E/AndroidRuntime(13047): at com.stellapps.encryption.Csv.generateCsvEncryptedFormat(Csv.java:111) 

如果需要任何其他细节,请告诉我。 任何帮助将不胜感激。

我想要添加的另一件事是,在获得上述exception之前,在错误之下。

找不到类com.opencsv.bean.HeaderColumnNameTranslateMappingStrategy’,从方法com.example.encryption.CSVHelper.parse引用

它给出错误的类可能存在于类路径中,但是您需要的jar可能具有一些依赖性。

请在下面找到链接以检查依赖项并添加相关的jar: http : //opencsv.sourceforge.net/dependencies.html

由于完全相同的错误,我一直在努力使用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 list = parser.getRecords(); for( CSVRecord row : list ) for( String entry : row ) System.out.println( entry ); } }