日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

运行SpringBoot时:Type javax.xml.bind.JAXBContext not present

發(fā)布時(shí)間:2023/12/3 javascript 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 运行SpringBoot时:Type javax.xml.bind.JAXBContext not present 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原因和簡(jiǎn)單介紹

我有一些代碼使用JAXB API類,它們是作為Java 6/7/8中JDK的一部分提供的。當(dāng)我使用Java 9+運(yùn)行相同的代碼時(shí),在運(yùn)行時(shí)我得到錯(cuò)誤,指示無(wú)法找到JAXB類。
自Java 6以來(lái),JAXB類已作為JDK的一部分提供,為什么Java 9不再能夠找到這些類?
使用Java 8構(gòu)建將使您的代碼編譯為yes,但是當(dāng)嘗試在Java 9+上運(yùn)行該編譯代碼時(shí),它將失敗,因?yàn)镴AX-B不存在。
正如之前關(guān)于Java 11的一切內(nèi)容中看到的那樣,它不再支持Java EE模塊。Java 11刪除了對(duì) java.xml.bind- 它定義了XML綁定的Java體系結(jié)構(gòu) (JAXB)API的支持
Java 11包javax.xml.bind不再存在。
Java 7版本:包含和工作
Java 8版本:包含和工作
Java 9版本:已棄用
Java 10版:已棄用
Java 11版本:已刪除

SEVERE: StandardWrapper.Throwable java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not presentat java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)at java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117)at java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95)at java.base/java.lang.Class.getGenericInterfaces(Class.java:1138)at com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:533)at com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:529)at com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202)at com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:695)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContextat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1328)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)at java.base/java.lang.Class.forName0(Native Method)at java.base/java.lang.Class.forName(Class.java:398)at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)... 59 more

解決方案

為了解決此問題,需要手動(dòng)將以下JAXB Maven依賴項(xiàng)添加到項(xiàng)目中。

適當(dāng)?shù)拈L(zhǎng)期解決方案:(JDK 9及更高版本)

<!-- jaxb模塊引用 - start--><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-impl</artifactId><version>2.3.0</version></dependency><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.0</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><!-- jaxb模塊引用 - end -->

將每個(gè)模塊的JDK版本都修改到JDK8版本以下


參考鏈接:
https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j
參考鏈接:
https://crunchify.com/java-11-and-javax-xml-bind-jaxbcontext/

總結(jié)

以上是生活随笔為你收集整理的运行SpringBoot时:Type javax.xml.bind.JAXBContext not present的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。