Почему documents4j запускает тест с maven возникает ошибка

#maven #documents4j

#maven #documents4j

Вопрос:

Я использую documents4j для преобразования docx в PDF, при запуске в IDEA все найдено, но когда я запускаю тест с maven или jenkins, я получаю сообщение об ошибке:

 java.lang.IllegalStateException: Shutdown in progress
        at java.base/java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82) ~[na:na]
        at java.base/java.lang.Runtime.removeShutdownHook(Runtime.java:242) ~[na:na]
        at com.documents4j.job.ConverterAdapter.deregisterShutdownHook(ConverterAdapter.java:121) ~[documents4j-util-conversion-1.1.5.jar:na]
        at com.documents4j.job.ConverterAdapter.cleanUp(ConverterAdapter.java:107) ~[documents4j-util-conversion-1.1.5.jar:na]
        at com.documents4j.job.ConverterAdapter.shutDown(ConverterAdapter.java:98) ~[documents4j-util-conversion-1.1.5.jar:na]
        at com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:109) ~[documents4j-local-1.1.5.jar:na]
        at com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:134) ~[documents4j-util-conversion-1.1.5.jar:na]
 

Мой pom.xml вот так:

         <dependency>
            <groupId>com.documents4j</groupId>
            <artifactId>documents4j-local</artifactId>
            <version>1.1.5</version>
        </dependency>

        <dependency>
            <groupId>com.documents4j</groupId>
            <artifactId>documents4j-transformer-msoffice-word</artifactId>
            <version>1.1.5</version>
        </dependency>
 

Комментарии:

1. Сейчас я сталкиваюсь с той же проблемой, вы ее решили?

Ответ №1:

Я предполагаю, что Maven выполняет тесты параллельно (возможно, даже с уже запущенным конвертером), что не работает. MS Word необходимо запускать как одноэлементный. Я не рекомендую запускать конвертер в пределах одного.

Ответ №2:

Та же проблема, и я решил ее.

Проблема в том, что вы создаете новый файл Docx и одновременно конвертируете его в Pdf (в том же действии).

Он хорошо работает, если файл Docx существует до его преобразования.