之前在项目中遇见一个问题就是发布CXF到weblogic中遇见一个问题
java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/UserDataHandler class
at org.apache.cxf.staxutils.StaxUtils.addLocation(StaxUtils.java:984)
at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:842)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:911)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:798)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:219)
Truncated. see log file for complete stacktrace
>
这个异常在网上很少找到,连google也很难搜索到,最后解决得知是依赖包冲突了
具体解决方法:
类A依赖于类B,但是类A在编译时、加载时使用了两个不同的类B的class,就会出现这个异常。也就是说,这个异常通常指示着jar包冲突。比如,cxf发布到weblogic下时,可能出现:
java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/UserDataHandler class
这个org/w3c/dom/UserDataHandler class至少在三个jar包中:jdk的rt.jar,jaxen.jar,和xmlbeans.jar里。去掉后两个,我的cxf就能正常运行了。
分享到:
相关推荐
### CXF支持WAS与Weblogic应用服务器 #### 概述 Apache CXF是一个全面的开源框架,用于构建和开发基于服务的应用程序。它提供了一系列的功能和服务,包括但不限于SOAP、XML、REST等协议的支持,使其成为Java环境中...
在这个例子中,通过CXF和Spring的结合,开发者可以轻松地创建和发布Web服务,实现跨平台的数据交换。 【文件结构】 - `.classpath`:这是Eclipse项目的一个配置文件,包含了项目所需的库和类路径设置。 - `xdoclet-...
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,...归根结底原因不是找不到类,而是发布后war下的jar与websphere自身平台下的jar冲突了,要解决此问题就要通过在websphere下建立共享库来根除,可参考附件
解决这些问题需要深入理解CXF的内部机制和WebLogic的部署模型。因此,阅读官方文档、社区论坛和博客(如提供的博文链接)是获取帮助的重要途径。 总之,将CXF项目部署到WebLogic 9.2需要综合运用Java EE、Web服务和...
在将CXF服务发布到WebLogic服务器时,可能会遇到一系列的问题。这里我们将详细探讨这些常见问题及其解决方案。 ### 1. javax.jws.webService.portName找不到的错误 该错误通常是由于缺少必要的类路径设置所导致的...
【通过CXF构建和发布Web服务工程】是一个关于利用Apache CXF框架来创建和发布Web服务的教程。Apache CXF是一个开源的Web服务框架,它整合了Celtix和Xfire两个项目,提供了丰富的功能来帮助开发者构建SOAP 1.1、1.2...
当CXF与WebLogic或Tomcat结合部署时,我们可以看到CXF的灵活性。WebLogic是一款企业级的Java应用服务器,而Tomcat则是一个轻量级的Servlet容器。在WebLogic中,CXF服务可以通过J2EE部署方式,将服务打包成war或ear...
部署方面,CXF非常灵活,可以轻松部署到轻量级容器(如Tomcat)或JBI容器(如ServiceMix),也能集成到J2EE应用服务器(如Geronimo、JOnAS、JBoss、WebLogic和WebSphere)。此外,CXF的Java客户端和服务端具有很好的...
其灵活性体现在可以部署在轻量级容器(如Tomcat)或Spring容器中,也可集成到JBI容器(如ServiceMix)、SCA容器(如Tuscany)或J2EE应用服务器(如Geronimo、JOnAS、JBoss、WebSphere、WebLogic和Jetty/Tomcat)。...
- CXF 可以运行在任何支持 Servlet 规范的容器上,如 WebSphere、WebLogic、Tomcat 和 Jetty 等。 - 不同的 Servlet 容器可能需要不同的配置,但在大多数情况下,只需要简单的部署即可。 ### 三、CXF 应用实例 #...
在本项目中,CXF被用作服务提供者,负责处理Web服务的发布和调用。 2. **Hibernate3.0**:Hibernate是一个强大的对象关系映射(ORM)框架,用于简化Java应用程序与数据库之间的交互。在本项目中,Hibernate3.0版本...
Apache CXF还支持与多种Java EE应用服务器的集成,例如WebSphere、JBoss、WebLogic和Tomcat等,这意味着开发的服务可以轻松部署到不同的应用服务器环境。 服务集成总线(ESB)概念在文档中被提及,它是一种实现服务...
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的...
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的...
接着,你可以编写一个简单的 Java 类,定义服务接口和实现,使用 CXF 提供的工具生成相应的 WSDL 文件,并配置服务发布和客户端调用。这个过程演示了如何使用 CXF 创建、部署和调用 Web 服务。 总之,Apache CXF 是...
使用 CXF、Spring 和 JDK 1.5 开发 WebService 并将其部署到 WebLogic 9.2 是一项相对复杂的任务,尤其是在处理不同技术栈之间的兼容性问题时。通过遵循本文介绍的步骤,开发者可以更好地理解和实现这一过程。虽然...