Я получаю сообщение об ошибке при загрузке Excel в Java - PullRequest
2 голосов
/ 17 апреля 2019

Я пытаюсь прочитать простой .xlsx в Java

private void readExcelData(String excel) throws Exception {
    FileInputStream file = new FileInputStream(excel);
    XSSFWorkbook workbook = new XSSFWorkbook(file);
    XSSFSheet sheet = workbook.getSheetAt(0);
}

, но я получаю Exception in thread "AWT-EventQueue-0" java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was expected

Мне пришлось добавить xmlbeans-xmlpublic-2.3.0.jar илиэто дает мне Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException Может быть, это как-то связано с этим.

У кого-нибудь есть решение?

1 Ответ

1 голос
/ 30 апреля 2019

У вас проблема с зависимостью, выясните, какой jar используется. Возможно, конфликтующие версии poi jar, poi-4.1.0.jar необходимы, и у вас есть poi-4.0.1.jar.

ClassLoader classloader = org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL res = classloader.getResource("org/apache/poi/util/POILogger.class");
String path = res.getPath();
System.out.println("POI came from " + path);

Если вы используете maven, запустите "mvn dependency: tree -Dverbose", чтобы показать включенные jar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...