用JDK9.0进行启动项目出现如下异常。

用JDK9.0进行启动项目出现如下异常。

java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present
at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) ~[na:na]
at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) ~[na:na]
at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]
at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) ~[na:na]
at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) ~[na:na]
at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]
at java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) ~[na:na]
at java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) ~[na:na]
at java.base/java.lang.Class.getGenericInterfaces(Class.java:1112) ~[na:na]
at com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629) ~[jersey-core-1.19.1.jar:1.19.1]
at com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625) ~[jersey-core-1.19.1.jar:1.19.1]
at com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202) ~[jersey-core-1.19.1.jar:1.19.1]
at com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89) ~[jersey-core-1.19.1.jar:1.19.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332) ~[jersey-server-1.19.1.jar:1.19.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) ~[jersey-server-1.19.1.jar:1.19.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) ~[jersey-server-1.19.1.jar:1.19.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl 13. f ( W e b A p p l i c a t i o n I m p l . j a v a : 795 )   [ j e r s e y − s e r v e r − 1.19.1. j a r : 1.19.1 ] a t c o m . s u n . j e r s e y . s p i . i n j e c t . E r r o r s . p r o c e s s W i t h E r r o r s ( E r r o r s . j a v a : 193 )   [ j e r s e y − c o r e − 1.19.1. j a r : 1.19.1 ] a t c o m . s u n . j e r s e y . s e r v e r . i m p l . a p p l i c a t i o n . W e b A p p l i c a t i o n I m p l . i n i t i a t e ( W e b A p p l i c a t i o n I m p l . j a v a : 795 )   [ j e r s e y − s e r v e r − 1.19.1. j a r : 1.19.1 ] a t c o m . s u n . j e r s e y . s e r v e r . i m p l . a p p l i c a t i o n . W e b A p p l i c a t i o n I m p l . i n i t i a t e ( W e b A p p l i c a t i o n I m p l . j a v a : 790 )   [ j e r s e y − s e r v e r − 1.19.1. j a r : 1.19.1 ] a t c o m . s u n . j e r s e y . s p i . c o n t a i n e r . s e r v l e t . S e r v l e t C o n t a i n e r . i n i t i a t e ( S e r v l e t C o n t a i n e r . j a v a : 509 )   [ j e r s e y − s e r v l e t − 1.19.1. j a r : 1.19.1 ] a t c o m . s u n . j e r s e y . s p i . c o n t a i n e r . s e r v l e t . S e r v l e t C o n t a i n e r 13.f(WebApplicationImpl.java:795) ~[jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) ~[jersey-core-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) ~[jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) ~[jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) ~[jersey-servlet-1.19.1.jar:1.19.1] at com.sun.jersey.spi.container.servlet.ServletContainer 13.f(WebApplicationImpl.java:795) [jerseyserver1.19.1.jar:1.19.1]atcom.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) [jerseycore1.19.1.jar:1.19.1]atcom.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) [jerseyserver1.19.1.jar:1.19.1]atcom.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) [jerseyserver1.19.1.jar:1.19.1]atcom.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509) [jerseyservlet1.19.1.jar:1.19.1]atcom.sun.jersey.spi.container.servlet.ServletContainerInternalWebComponent.initiate(ServletContainer.java:339) ~[jersey-servlet-1.19.1.jar:1.19.1]
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) ~[jersey-servlet-1.19.1.jar:1.19.1]
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) ~[jersey-servlet-1.19.1.jar:1.19.1]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) ~[jersey-servlet-1.19.1.jar:1.19.1]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:744) ~[jersey-servlet-1.19.1.jar:1.19.1]
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285) ~[tomcat-embed-core-8.5.27.jar:8.5.27]
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:112) ~[tomcat-embed-core-8.5.27.jar:8.5.27]
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4591) [tomcat-embed-core-8.5.27.jar:8.5.27]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233) [tomcat-embed-core-8.5.27.jar:8.5.27]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.27.jar:8.5.27]
at org.apache.catalina.core.ContainerBase S t a r t C h i l d . c a l l ( C o n t a i n e r B a s e . j a v a : 1419 ) [ t o m c a t − e m b e d − c o r e − 8.5.27. j a r : 8.5.27 ] a t o r g . a p a c h e . c a t a l i n a . c o r e . C o n t a i n e r B a s e StartChild.call(ContainerBase.java:1419) [tomcat-embed-core-8.5.27.jar:8.5.27] at org.apache.catalina.core.ContainerBase StartChild.call(ContainerBase.java:1419)[tomcatembedcore8.5.27.jar:8.5.27]atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.5.27.jar:8.5.27]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) [na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor W o r k e r . r u n ( T h r e a d P o o l E x e c u t o r . j a v a : 641 ) [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . T h r e a d . r u n ( T h r e a d . j a v a : 844 ) [ n a : n a ] C a u s e d b y : j a v a . l a n g . C l a s s N o t F o u n d E x c e p t i o n : j a v a x . x m l . b i n d . J A X B C o n t e x t a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . B u i l t i n C l a s s L o a d e r . l o a d C l a s s ( B u i l t i n C l a s s L o a d e r . j a v a : 582 )   [ n a : n a ] a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . C l a s s L o a d e r s Worker.run(ThreadPoolExecutor.java:641) [na:na] at java.base/java.lang.Thread.run(Thread.java:844) [na:na] Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders Worker.run(ThreadPoolExecutor.java:641)[na:na]atjava.base/java.lang.Thread.run(Thread.java:844)[na:na]Causedby:java.lang.ClassNotFoundException:javax.xml.bind.JAXBContextatjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) [na:na]atjava.base/jdk.internal.loader.ClassLoadersAppClassLoader.loadClass(ClassLoaders.java:185) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:375) ~[na:na]
at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na]
… 36 common frames omitted

解决方法
在你的POM 引入如下依赖。

javax.xml.bind jaxb-api 2.3.0 com.sun.xml.bind jaxb-impl 2.3.0 org.glassfish.jaxb jaxb-runtime 2.3.0 javax.activation activation 1.1.1

原因
因为JAXB-API是java ee的一部分,在jdk9中没有在默认的类路径中;

java ee api在jdk中还是存在的,默认没有加载而已,jdk9中引入了模块的概念,可以使用

模块命令–add-modules java.xml.bind引入jaxb-api;

作者:喜欢雨天的我
来源:CSDN
原文:https://blog.csdn.net/qq_15807167/article/details/79346607
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值