java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present JAVA9

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(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$InternalWebComponent.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.23.jar:8.5.23]
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:112) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4591) [tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233) [tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) [tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.5.23.jar:8.5.23]
    at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) [na:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) [na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) [na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$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$AppClassLoader.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]
    ... 37 common frames omitted

解决方案1:引入jaxb-api依赖

解决方案2:运行时,指定命令–add-modules java.xml.bind(dirty solution)

解决方案3:不使用java9

引发该问题的原因,以及解决方案xxx:详见 https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j

这是由于JAVA9EE还未发布引起,JAVASE缺少一些包导致编译出错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是Java程序中的一个异常,意思是缺少javax.xml.bind.jaxbcontext类型。这通常是由于缺少相关的库文件或类路径设置不正确导致的。要解决这个问题,可以尝试添加缺少的库文件或者检查类路径设置是否正确。 ### 回答2: java.lang.typenotpresentexception: type javax.xml.bind.jaxbcontext not present 是由于缺少所需的库或类文件造成的异常。这个异常通常出现在运行需要使用 javax.xml.bind.JAXBContext 类的 Java 程序中。 javax.xml.bind.JAXBContext 类是 Java 中用于数据反序列化和序列化 XML 数据的类。如果在程序中使用了该类,但是缺少相应的依赖库或类文件,就会抛出 java.lang.typenotpresentexception 异常,指出该类未找到。 要解决这个问题,可以采取以下步骤: 1. 检查程序的依赖:检查程序所需的库是否已经添加到项目中,包括 javax.xml.bind 包所在的库。可以通过 Maven 或 Gradle 等构建工具来管理依赖关系,确保所需的库已正确添加。 2. 更新 Java 版本:JAXBContext 类是从 Java 6 开始的 Java 标准,如果你正在使用一个较旧的 Java 版本,可能会导致该异常。尝试将 Java 运行环境更新到最新版本,以确保 JAXBContext 类能够被正确加载。 3. 检查所使用的 IDE 或编辑器设置:一些 IDE 或编辑器可能需要额外的配置才能正确地解析 JAXBContext 类和相关依赖。确保 IDE 或编辑器中的设置正确,并且它们能够找到所需的类。 4. 检查类路径:如果以上步骤都没有解决问题,可能需要检查类路径是否正确设置。确保程序可以找到所需的类文件,并且它们能够被正确加载。 通过以上步骤进行排查和修复,应该能够解决 java.lang.typenotpresentexception: type javax.xml.bind.jaxbcontext not present 异常。如果问题仍然存在,可以考虑咨询相关的技术支持或寻求更多的帮助。 ### 回答3: java.lang.typenotpresentexception: type javax.xml.bind.jaxbcontext not presentJava运行时异常的一种,表示在程序运行时无法找到类型javax.xml.bind.JAXBContext。 这个异常通常出现在使用Java标准库中的XML绑定(XML Binding)相关功能时。JAXBJava提供的用于将Java对象与XML文档相互转换的API,而javax.xml.bind.JAXBContextJAXB的关键类。 通常情况下,Java运行时会提供这个类。但在某些情况下,可能由于以下原因导致找不到该类型: 1. Java运行时环境版本较低:某些较旧的Java版本可能不包含javax.xml.bind.JAXBContext类。解决办法是升级Java运行时环境到较新的版本。 2. 缺少相关的JAR文件:JAXB的实现通常需要相关的JAR文件支持,这些JAR文件可能缺失或不在类路径中。解决办法是确保相关的JAR文件已经添加到项目的构建路径中。 3. 模块化环境下的缺失:在Java 9及以上版本中,引入了模块化的概念,可能需要在模块路径中显式声明JAXB相关模块的依赖关系。解决办法是在模块描述文件(module-info.java)中添加对javax.xml.bind模块的requires语句。 处理这个异常的方法可以包括检查运行时环境版本、确保相关JAR文件存在并正确设置类路径、在模块化环境下检查模块依赖关系等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值