2017-03-09 113 views
0

我試圖運行此代碼:的Apache POI的NoClassDefFoundError而閱讀Excel文件

public class ExcelSimpleTest { 
    public static void main(String[] args) throws Exception { 
      File f = new File("C:\\Users\\yaron\\Desktop\\Test.xlsx"); 
      FileInputStream fis = new FileInputStream(f); 

      XSSFWorkbook wb=new XSSFWorkbook(fis); 
      Sheet sheet=wb.getSheetAt(0); 
      System.out.println(sheet.getRow(0).getCell(0).getStringCellValue()); 
    } 

} 

和我得到這個錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap 
    at src.ExcelSimpleTest.main(ExcelSimpleTest.java:22) 
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 

我在網上查了,並複製了Apache POI文件並不明白我的問題是什麼。

回答

6

它看起來像你想念classpath中的commons-collection4.jar。下載並將其添加到您的類路徑中。如果您使用maven,您可以添加

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> 
<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-collections4</artifactId> 
    <version>4.1</version> 
</dependency> 

到您的pom。

如果沒有,你可以下載它here

+0

是的這個文件丟失thx! –