Yaron Ashual
Yaron Ashual

Reputation: 25

Apache POI NoClassDefFoundError while reading excel files

I am attempting to run this code:

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());
    }

}

And am getting this error:

    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

I checked on the internet and copied over the Apache POI files and don't understand what my problem is.

Upvotes: 0

Views: 1829

Answers (1)

Jens
Jens

Reputation: 69440

It Looks like you miss the commons-collection4.jar in your classpath. Download it and add it to your classpath. If you use maven you can add

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

to your pom.

If not you can download it here

Upvotes: 6

Related Questions