[英]why do i get 'ClassNotFound' exception when using OpenCSV
我正在嘗試使用 opencsv 讀取 CSV 文件,我已經導入了所有內容並在類路徑中引用了該庫,但我不斷收到 ClassNotFoundException:
這是我的代碼:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import com.opencsv.CSVReader;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
CSVReader readActors;
try {
readActors = new CSVReader(new FileReader(new File("src\\prueba\\actors.csv")));
String[] values = null;
try {
while ((values = readActors.readNext()) != null){
String name =values[0];
String bday = values[1];
System.out.println("Name:" +name+", bday:" +bday); //check if reading is ok
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以下是我得到的例外:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/ObjectUtils
at com.opencsv.CSVParser.<init>(CSVParser.java:207)
at com.opencsv.CSVReader.<init>(CSVReader.java:198)
at com.opencsv.CSVReader.<init>(CSVReader.java:180)
at com.opencsv.CSVReader.<init>(CSVReader.java:132)
at com.opencsv.CSVReader.<init>(CSVReader.java:72)
at prueba.Main.main(Main.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.ObjectUtils
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 6 more
csv 文件看起來像這樣,位於 package 'prueba' 以及主 class 中。
Margot Robbie,02/07/1990
Leonardo DiCaprio,11/11/1974
Brad Pitt,18/12/1963
看起來您還需要將org.apache.commons.lang3
jar 添加到類路徑中。 也許試試這個網站https://commons.apache.org/proper/commons-lang/download_lang.cgi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.