Подтвердить что ты не робот

Ошибка загрузки POI Apache загрузки класса XSSFWorkbook

Я пытаюсь написать программу, которая работает с документами Excel, но формат HSSF слишком мал для моих требований. Я пытаюсь перейти к XSSF, но я все время получаю ошибки при попытке использовать его.

Мне удалось решить первые два, добавив xmlbeans-2.3.0.jar и dom4j-1.6.jar в мою программу, но теперь эта ошибка подходит, что, похоже, не устраняется добавлением общих ресурсов Apache банку, доступной на веб-сайте Apache.

Ошибка следующая:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    at hot.memes.ExcelCreator.main(ExcelCreator.java:66)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
4b9b3361

Ответ 2

commons-collections4-x.x.jar определенно решает эту проблему, но Apache удалил интерфейс ListValuedMap из commons-Collections4-4.0.jar, поэтому используйте обновленную версию 4.1, он имеет необходимые классы и интерфейсы.

Обратитесь сюда, если вы хотите прочитать Excel (2003 или 2007+) с помощью java-кода.

http://www.codejava.net/coding/how-to-read-excel-files-in-java-using-apache-poi

Ответ 3

Ура! Добавление коллекций jar файлов в мой проект разрешило эту проблему. Два больших пальца до Лаки Шармы.

Решение: добавьте файл commons-collections4-4.1.jar в свой путь сборки и повторите попытку. Он будет работать.

Вы можете скачать его из https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1

Ответ 4

Обратите внимание, что 4.0 недостаточно, поскольку ListValuedMap был введен в версии 4.1.

Вам нужно использовать эту ссылку для репозитория maven для версии 4.1. Реплицировано ниже для удобства

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