当我尝试从Excel文件读取时,我得到ClassNotFoundException

当我尝试从Excel文件使用apace poi读取我得到ClassNotFoundException其次错误,我已经导入所有必要的jar文件在参考库

顺便说一句,我还是新来的编码

inheritance人的代码:

import java.io.*; import java.io.File; import java.io.FilterInputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.*; import org.apache.poi.*; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Test { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub FileInputStream F = new FileInputStream("Carbcounting.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(F); XSSFSheet sheet = wb.getSheetAt(0); FormulaEvaluator formulaEva = wb.getCreationHelper().createFormulaEvaluator(); for(Row row : sheet){ for(Cell cell : row){ System.out.print(cell.getStringCellValue()); } } System.out.println(); } } 

当我尝试运行时遇到所有错误:

  Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap at project.Test.main(Test.java:28) Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 1 more 

您需要在您的构buildpath中添加commons-collections4-xxjar文件并再次尝试。 它应该工作。

从这里获取: https : //mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0

另外,只是加起来:
你得到这个错误(NoClassDefFoundError)主要有两个原因:

  1. Java虚拟机无法在运行时find一个在编译时可用的特定类。

  2. 如果一个类在编译期间出现,但在运行时在java classpath中不可用。