Ошибка java.lang.NoClassDefFoundError: org/apache/poi/hemf/extractor/HemfExtractor при выполнении processQueue() в Full Text Search

Здравствуйте! Подскажи пожалуйста, с чем может быть связана следующая проблема:
На своём локальном компьютере с запущенной Cuba Studio индексирую записи для поиска в Full Text Search. В JMX Console сначала запускаю reindexAll(), затем несколько раз processQueue(), всё прекрасно переиндексируется и ищет. Всего 3297 записей.

Затем этот же проект я разворачиваю через WAR-файл на сервере на Apache Tomcat (БД та же самая).
Делаю reindexAll(), всё отлично, показывает те же 3297 записей.
image
Затем нажимаю processQueue() (по умолчанию установлено 300 записей в 1 очереди). 3 раза очередь обрабатывается успешно:
image
А на 4-ый раз выдаёт следующую ошибку:
image
Полный стек вызовов ошибки во вложении.jmx.com.haulmont.fts.core.jmx.FtsManager-processQueue-12_21_53.log (6.8 КБ)
Дальше индексация не идёт. Повторюсь, на локальной машине всё ок, эта проблема возникает только на сервере, когда приложение развёрнуто через WAR-файл.

Настройки FTS все по умолчанию (indexDir не указан, по умолчанию tomcat/work/app-core/ftsindex). Все остальные настройки тоже по умолчанию:
image
В файле fts.xml почти у всех объектов указано всё по умолчанию:
entity class=“com.company.itam.entity.Department”
include re="."
entity
Есть 2 или 3 объекта, у которых настройка чуть отличается:
entity class=“com.haulmont.cuba.core.entity.FileDescriptor” show=“false”
exclude re=".
"
entity
Или
entity class=“com.company.itam.entity.ServiceCatalog”
include name=“shortName”
include name=“longName”
include name=“description”
include name=“lnkNature”
entity
Версия аддона Full Text Search 7.2.4

Ошибка связана с библиотекой tika-parsers (исправлена в версии 1.23). Попробуйте у себя в проекте указать более новую версию библиотеки в зависимостях global модуля:

compile('org.apache.tika:tika-parsers:1.24') 

Если все поправится, то мы обновим зависимость в модуле FTS.

Добрый день, Андрей!
Вы могли бы сказать где именно нужно прописать эту строку? Когда я пытаюсь включить её в раздел dependencies в configure(globalModule) {…} проект перестаёт собираться…
Мой build.gradle во вложении.build.gradle (6.2 КБ)

Здравствуйте Артем,
Какие ошибки появляются при сборке проекта?
Попробуйте указать версию 1.23 (там так же должна быть исправлена данная проблема)

Я добавляю эту строку вот так:

configure(globalModule) {
    dependencies {
        compile('org.apache.tika:tika-parsers:1.24')
        if (!JavaVersion.current().isJava8()) {
            runtime('javax.xml.bind:jaxb-api:2.3.1')
            runtime('org.glassfish.jaxb:jaxb-runtime:2.3.1')
        }
    }

    entitiesEnhancing {
        main {
            enabled = true
        }
    }
}

Но при запуске проекта получаю следующие ошибки:
Caused by: java.io.IOException: Cannot run program “C:\Program Files\Java\jdk1.8.0_181\bin\java.exe” (in directory “C:\Users\landstalker\StudioProjects\itam\modules\global”): CreateProcess error=206, ��� ����� ��� ��� ���������� ����� ������� ������� �����:
image

При запуске с ключом --stacktrace выдаётся следующее:
image

Затем попробовал добавить зависимость в coreModule, аналогично другим библиотекам:

configure(coreModule) {

    configurations {
        jdbc
        dbscripts
    }

    dependencies {
        compile(globalModule)
        compileOnly(servletApi)
        jdbc(mssql) { exclude(group: 'com.microsoft.azure', module: 'azure-keyvault') }
        testRuntime(mssql) { exclude(group: 'com.microsoft.azure', module: 'azure-keyvault') }
        compile(group: 'net.sf.barcode4j', name: 'barcode4j', version: '2.1')
        compile(group: 'com.itextpdf', name: 'itextpdf', version: '5.5.13.1')
        compile(group: 'com.google.zxing', name: 'javase', version: '3.4.0')
        compile(group: 'com.google.zxing', name: 'core', version: '3.4.0')
        compile(group: 'org.apache.tika', name: 'tika-parsers', version: '1.24')
    }
...

Приложение стартует, но при открытии http://localhost:8080/app/ получаю следующую картину:
image
Полный текст ошибки во вложенииjavax.servlet.ServletException.txt (4.5 КБ)

С версией 1.23 тоже самое.
Наверное я как-то неправильно добавляю зависимость?

Здравствуйте, попробуйте удалить Tomcat и обновиться на новую версию платформы 7.2.5. Мы исправили версию библиотеки в новом релизе.

1 симпатия

Здравствуйте, Андрей.
Похоже что обновление до 7.2.5 помогло, теперь вся очередь на сервере обрабатывается без ошибок. Большое спасибо! :muscle: