[英]NoClassDefFoundError: com.opencsv.CSVWriter
我尝试使用opencsv libray获取加密的格式数据。 但是当在CSV编写器上编写时,我收到“ NoClassDefFoundError”。 我已经看到很多帖子都与相同的错误相关,并且几乎也尝试了所有操作,但是仍然无法解决问题。 下面的链接具有相同的错误。
CSVHelper代码:
public String stringify(List<? extends SerializeableToCSV> objects)
throws IllegalArgumentException {
if (objects == null || objects.isEmpty())
throw new IllegalArgumentException("List of objectes passed is either null or empty");
List<String[]> strList = new ArrayList<String[]>();
// add header record
strList.add(objects.get(0).getColumnHeaders());
Iterator<? extends SerializeableToCSV> 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)
如果需要其他详细信息,请告诉我。 任何帮助将不胜感激。
我要添加的另一件事是,在获得上述异常之前,在错误下方。
找不到从方法com.example.encryption.CSVHelper.parse引用的类'com.opencsv.bean.HeaderColumnNameTranslateMappingStrategy'
它提供错误的类可能存在于类路径中,但是您需要的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<CSVRecord> list = parser.getRecords();
for( CSVRecord row : list )
for( String entry : row )
System.out.println( entry );
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.