最近接手一个带有CXF的项目,在工程启动时报错
Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
nested exception is java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.16/webapps/were/WEB-INF/lib/jaxb-impl-2.1.17.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)
needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader.
(See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
很奇怪,工程使用的JAXB 2.1,却一直提示加载到的是2.0版本。
刚开始一直怀疑是项目中有地方使用到了jaxb2.0的api,查了一个多小时也没有找到。
后来上网查找,原来是JDK1.6与cxf的兼容性有问题。
找到了两种解决办法
1 将JDK升级到jdk1.6.0_14(jdk1.6u11)
2 将jaxws-api.jar 和 jaxb-api.jar
拷贝到 $JAVA_HOME/lib/endorsed 或者 $JDK_HOME/jre/lib/endorsed ,如果没有 endorsed目录则新建一个
分享到:
相关推荐
5. **WS-I(Web Services Interoperability Organization)兼容性**:JDK 1.6的Web服务实现遵循WS-I的Best Practices Profile和Basic Profile,确保了跨平台和跨语言的互操作性。 6. **JAX-RPC(Java API for XML-...
使用CXF 2.6.4时,你需要关注Java版本的兼容性,因为CXF的后续版本可能不再支持Java 1.6。同时,要确保你的开发环境(如IDE)配置正确,以便能够利用CXF提供的全部功能。如果你打算升级到更高版本的Java或CXF,务必...
在使用过程中,可能遇到的问题包括版本兼容性问题、XML解析错误、网络通信异常等。解决这些问题通常需要查看日志、调试代码,甚至阅读CXF的官方文档和社区论坛。对于初学者来说,理解CXF的工作原理、熟悉其配置方式...
WebService CXF 用了一天时间找,官网打不开,国内要积分,下...jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- 3.2之前版本 java 6 3.1 之前版本 只能上传一个资源。只有分开上传CXF3.1.15了。
通过查看这些文件,你可以更深入地理解如何将CXF与JDK结合,创建和运行Web服务。记得根据实际情况调整上述步骤中的类名、地址和其他配置细节,以适应你的项目需求。 总的来说,JDK21集成CXF示例程序旨在帮助开发者...
本文将详细介绍使用JDK和CXF两种方式来开发WebService服务端。 一、JDK原生实现WebService(JAX-WS) 1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它...
CXF不仅用于创建服务端,还能生成客户端代理类,使得与服务端的交互变得简单。在本案例中,CXF将被用来创建服务接口,实现服务逻辑,并且自动生成客户端所需的代码。 以下是实现步骤: 1. **定义服务接口**:使用...
标题 "cxf客户端所需jar包-4个" 暗示了这四个JAR文件是Apache CXF框架中用于构建客户端应用程序的基本组件,使得开发者能够方便地调用Web服务。Apache CXF是一个开源的Java框架,它允许创建和消费Web服务,支持多种...
同时,CXF提供了丰富的日志配置,便于在开发过程中定位问题。 7. **最佳实践** - 使用最新的CXF版本,尽管支持JDK 5,但较新版本通常会修复更多bug并提供新特性。 - 在生产环境中,考虑使用服务发现机制,如服务...
CXF-2.4.2是一个重要的里程碑,它包含了丰富的功能和改进,旨在提高Web服务的开发效率和互操作性。以下是CXF框架的一些核心特性: 1. **SOAP支持**:CXF提供了一个完整的SOAP处理栈,包括WSDL(Web服务描述语言)到...
CXF支持SOAP、RESTful、XML和JSON等多种通信协议,并且能够与Spring框架深度集成。 **Axis**,全称Apache Axis,是一个用于创建Web服务的工具集,它基于SOAP协议,允许开发者创建、部署和使用Web服务。Axis1.x版本...
JAVA7和JAVA8对应CXF资源 WebService CXF 用了一天时间找,官网打不开,国内...jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- 3.2之前版本 java 6 3.1 之前版本 只能上传一个资源,这次合并了
使用jdk1.6、cxf2.3和tomcat开发的一个关于验证码的webservice接口,主要实现对手机验证码的验证。
为了解决cxf webservice访问与jdk1.6版本之间不兼容问题
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,...归根结底原因不是找不到类,而是发布后war下的jar与websphere自身平台下的jar冲突了,要解决此问题就要通过在websphere下建立共享库来根除,可参考附件
webServiceTester启动前请安装jdk1.6以上版本,启动后填写 ?wsdl的URL 点击获取会带出需要的参数正常填写启动调用就可以跟断点调试了!
【描述】"cxf3.0.2 客户端所需jar包,支持jdk1.7,1.6请自行寻找" 提醒我们这个包是针对Java Development Kit (JDK) 1.7设计的,确保了与这个版本的兼容性。虽然CXF可能也支持更早的JDK版本,如1.6,但这个特定的...
8. **兼容性与稳定性**:"2.7.17"这个版本经过了广泛的测试,确保了与JDK 1.6的良好兼容性,同时也修复了一些已知问题,提高了整体的稳定性和性能。 在实际应用中,开发者可以通过Maven或Gradle等构建工具将"CXF ...