Я использую Hibernate в своем приложении Java, и я просто не могу избавиться от этого ClassNotFoundException с JAXB. Я буквально пробовал все, но, кажется, не могу его исправить. < /P>
Я использую Java 21. Caused by: jakarta.xml.bind.JAXBException: Implementation of Jakarta XML Binding-API has not been found on module path or classpath.
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:252) ~[?:?]
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:240) ~[?:?]
at jakarta.xml.bind.ContextFinder.find(ContextFinder.java:381) ~[?:?]
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:605) ~[?:?]
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:546) ~[?:?]
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:121) ~[?:?]
... 25 more
Caused by: java.lang.ClassNotFoundException: org.glassfish.jaxb.runtime.v2.ContextFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
at jakarta.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:113) ~[?:?]
at jakarta.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:146) ~[?:?]
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:250) ~[?:?]
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:240) ~[?:?]
at jakarta.xml.bind.ContextFinder.find(ContextFinder.java:381) ~[?:?]
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:605) ~[?:?]
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:546) ~[?:?]
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:121) ~[?:?]
... 25 more
< /code>
И вот мой полный файл POM: < /p>
org.test.project
project-core
1.0-SNAPSHOT
project-core
test project
spigot-repo
https://hub.spigotmc.org/nexus/content/ ... snapshots/
minecraft-repo
https://libraries.minecraft.net/
org.spigotmc
spigot-api
1.21.4-R0.1-SNAPSHOT
provided
org.hibernate.orm
hibernate-core
6.6.12.Final
com.mysql
mysql-connector-j
9.2.0
clean install
${project.basedir}/src/main/resources
true
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
21
21
org.apache.maven.plugins
maven-shade-plugin
3.2.4
package
shade
< /code>
Обратите внимание, я удалил зависимости JAXB в этом файле POM, но я уже пытался добавить API JAXB и реализацию времени выполнения, и она оставалась, чтобы дать мне эту ошибку. Как я уже говорил, я разбил свой файл JAR и org.glassfish.jaxb.runtime.v2.contextFactory скомпилируется, так как он является частью зависимости Hibernate.
jakarta.xml.bind
jakarta.xml.bind-api
4.0.0
org.glassfish.jaxb
jaxb-runtime
4.0.0
runtime
< /code>
Я также пробовал несколько версий этих зависимостей. И попробовал солнцезащитные зависимости, которые также не работали. И я попытался использовать смешанную зависимость Eclipse вместо JAXB (и включал Jaxb.properties), это также не решило проблему. и, как вы можете догадаться, это также не было успешным. Что еще я могу попробовать? Помощь очень ценится!
Подробнее здесь: https://stackoverflow.com/questions/795 ... -available