com.sun .xml.bind.v2.ContextFactory 类找不到的解决
(2013-08-30 16:06:23)
标签:
contextfactory找不到类cxfwebservice |
分类: Java |
在做项目过程中,使用apache-cxf客户端方式调用接口访问服务器时,报javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found 错误,异常堆栈信息如下:
Caused by: javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:151)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:299)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
at org.apache.cxf.wsdl.JAXBExtensionHelper.createJAXBContext(JAXBExtensionHelper.java:196)
at org.apache.cxf.wsdl.JAXBExtensionHelper.getJAXBContext(JAXBExtensionHelper.java:183)
... 65 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:116)
... 70 more
一开始以为是jaxb包的问题,但是项目中存在该类。
在通过搜索引擎查找时,找到【DK 版本 JAXB版本不一致 引发 java.lang.ClassNotFoundException:com.sun .xml.bind.v2.ContextFactory】(附件1),使用该方法,问题仍未解决。
最后检查项目类路径发现,在启动类路径中, Java EE 5 Library 在 JRE System Library[jdk1.6.0_25] 之前, 调整顺序,将JRE放在前面解决。
有问题的类路径顺序(eclipse:Run->Run Configrations...):
(这也是我查找的,我特意转载过来的,也可以先把 Jave EE 5 library 先remove 然后 在add 也是可以的)
问题解决之后的类路径顺序(使用右边的up/down 按钮调整):
参考文档:
相关推荐
具体来说,异常信息 "java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory" 显示在尝试创建`com.sun.xml.bind.v2.ContextFactory`类的实例时,该类的定义没有在运行时环境中找到。这通常是由于...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
赠送jar包:jakarta.xml.bind-api-2.3.3.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.3-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.3-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
赠送jar包:jakarta.xml.bind-api-2.3.2.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.2-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.2-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
【标题】"javax.xml.bind.jar" 是一个Java开发中常用的工具包,主要包含了Java对象到XML数据绑定的API,这是Java标准版(Java SE)的一部分,用于帮助开发者将Java类和XML文档之间的转换自动化,从而简化了XML处理。...
赠送jar包:jakarta.xml.bind-api-2.3.3.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.3-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.3-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
赠送jar包:jakarta.xml.bind-api-2.3.2.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.2-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.2-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
javax.xml.bind.jar和三个sqljdbc4x.jar;实测可用。用于sqlserver连接和出现Java 9 及以上 eclipse 链接 SQL数据库 抛出 java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 异常
在集成阿里云移动推送时,部署到服务器的时候遇到了java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 错误,产生原因是缺少javax.xml.bind.DatatypeConverter
com.sun.xml.bind jaxb-impl 2.1.7 com.sun.xml.messaging.saaj saaj-impl 1.3.1 com.sun.xml.stream.buffer streambuffer 0.7 com.sun.xml.stream sjsxp 1.0.1 javax.xml.ws jaxws-api 2.1 org.jvnet.staxex stax-...
因此,当你尝试使用JDK 10及以上版本时,可能会遇到像`javax.xml.ws.Service`这样的类找不到的问题,因为它们已经被从标准JDK中移除。 为了解决这个问题,有以下几种方法: 1. **JDK降级**:将JDK版本回退到1.8,...
`javax.xml.bind.JAXBException`是Java的一个标准API,属于Java绑定(JAXB)框架的一部分,用于XML到Java对象的映射。这个错误表明系统在尝试加载该类时遇到了问题,可能是由于以下原因: 1. **JDK版本不兼容**:...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用