Ошибка JAXBException при создании jar файла

Я создаю JavaFX приложение, одной из функций которого является создание файла Word, для этого я использую библиотеку docx4j, когда я запускаю приложение из Intellij Idea, все работает правильно. Но когда я создаю jar файл (с помощью maven-shade-plugin), то при попытке создать файл word мне выдается ошибка

javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:131)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:318)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:478)
        at org.docx4j.jaxb.Context.<clinit>(Context.java:120)
        at org.docx4j.openpackaging.parts.JaxbXmlPart.<init>(JaxbXmlPart.java:122)
        at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.<init>(JaxbXmlPartXPathAware.java:68)
        at org.docx4j.openpackaging.parts.JaxbXmlPartAltChunkHost.<init>(JaxbXmlPartAltChunkHost.java:58)
        at org.docx4j.openpackaging.parts.WordprocessingML.DocumentPart.<init>(DocumentPart.java:169)
        at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.<init>(MainDocumentPart.java:92)
        at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:430)
        at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:408)
        at com.example.kinesio_helper.MyTab.createDoc(MyTab.kt:612)
        at com.example.kinesio_helper.MyTab.access$createDoc(MyTab.kt:29)
        at com.example.kinesio_helper.MyTab$btnClick$service$1$createTask$1.call(MyTab.kt:412)
        at com.example.kinesio_helper.MyTab$btnClick$service$1$createTask$1.call(MyTab.kt:407)
        at javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at javafx.concurrent.Service.lambda$executeTask$6(Service.java:728)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at javafx.concurrent.Service.lambda$executeTask$7(Service.java:727)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:92)
        at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:125)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:128)
        ... 22 more
org.docx4j.openpackaging.exceptions.Docx4JException: Error marshalling Content_Types
        at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:315)
        at org.docx4j.openpackaging.io3.Save.save(Save.java:177)
        at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:795)
        at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:684)
        at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:667)
        at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:656)
        at com.example.kinesio_helper.MyTab.createDoc(MyTab.kt:634)
        at com.example.kinesio_helper.MyTab.access$createDoc(MyTab.kt:29)
        at com.example.kinesio_helper.MyTab$btnClick$service$1$createTask$1.call(MyTab.kt:412)
        at com.example.kinesio_helper.MyTab$btnClick$service$1$createTask$1.call(MyTab.kt:407)
        at javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at javafx.concurrent.Service.lambda$executeTask$6(Service.java:728)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at javafx.concurrent.Service.lambda$executeTask$7(Service.java:727)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "javax.xml.bind.JAXBContext.createMarshaller()" because "org.docx4j.jaxb.Context.jcContentTypes" is null
        at org.docx4j.openpackaging.contenttype.ContentTypeManager.marshal(ContentTypeManager.java:938)
        at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:311)
        ... 17 more
org.docx4j.openpackaging.exceptions.Docx4JException: Error marshalling Content_Types

У меня была такая проблема во время разработки, и я с ней справился, и все заработало в среде разработки, но при создании jar, эта ошибка вернулась.


Ответы (0 шт):