У меня был проект maven со старыми зависимостями docx4j, и я хотел обновить его до java 9. Во время обновления я изменил свой проект с maven на gradle.
Так что теперь у меня есть проект gradle в IntelliJ со следующими зависимостями:
dependencies {
implementation('commons-io:commons-io:2.6')
implementation('javax.xml.bind:jaxb-api:2.4.0-b180725.047')
implementation('org.docx4j:docx4j:6.0.1')
implementation('org.docx4j:docx4j-ImportXHTML:6.0.1')
implementation('org.docx4j:docx4j-export-fo:6.0.1')
testImplementation('junit:junit:4.12')
}
build работает, но если я хочу открыть файл .docx, с помощью Docx4J.load (...) или WordprocessingMLPackage.load (...) он генерирует исключение RuntimeException.
В режиме отладки я вижу это сообщение: Класс не загружен: org.docx4j.jaxb.Context
Этот файл Context.java имеет статический блок кода, подобный следующему:
static {
...
}
Я думаю, что это ошибка, специфичная для gradle, потому что я создал новый проект maven с тем же кодом и зависимостями, что и в проекте gradle, и он работает.
Есть ли какое-то решение для этого, или я должен использовать Maven и в будущем?