【转】weblogic 发布CXF问题

之前在项目中遇见一个问题就是发布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里。删除后两个jar,我的cxf就能正常运行了。

转自http://buyaozaibeidaole.iteye.com/blog/1672425

补充:如果程序启动时报与上面类似的错误,但类是javax/xml/namespace/QName,只需要删除jaxrpc.jar中的QName类就可以了

时间: 2024-10-18 12:27:33

【转】weblogic 发布CXF问题的相关文章

Myeclipse编译工程用Weblogic发布的时候jdk版本问题

最近在用Myeclipse编译的代码在Weblogic上发布的时候总是出错,调查发现原来的jdk版本的问题. 我的情况是这样的: 开发的时候我是用tomcat来发布测试的,没有任何问题,但是实际发布的时候用Weblogic,总是出错,所以就自然而然的想到的jdk版本的问题. 我用的Weblogic中用到的jdk为:1.4(jdk141_05) 路劲为C:\bea\jdk141_05 但是在Myeclipse中用来编码代码的jdk版本为:1.6(1.6.0-13). 发现这个问题之后,果断在Mye

weblogic发布应用包,路径乱码错误&linux修改LANG环境变量(解决中文乱码问题)

今天在weblogic发布应用包时,包内含有中文的路径或者文件名,发布时报错提示乱码,挂不上包! 通过命令 echo $LANG 发现输出 zh_CN.UTF-8 我们需要修改LANG的环境变量才可以解决这个问题! a.若要临时解决,可变更当前环境变量,执行  export LANG=zh_CN.GB18030,但本次打开的终端关闭后环境变量就会变回系统默认 b.若有永久改变,需要修改 vi /etc/sysconfig/i18n中,将LANG变更为需求的值并保存,如zh_CN.GB18030

Weblogic发布小问题——The root element weblogic-web-app is missing in the descriptor file

前几天发布项目遇到这样一个小错误,在此记录一下,以便加深一点印象,下次好解决类似的问题! (对应的应用服务器是WebLogic Server 版本: 10.3.6.0,应用是以文件夹的形式发在服务器的对应目录下的) 1:错误的信息如下图所示 2:分析及解决这个小问题的过程 错误的提示信息还是比较清楚的指出了错误发生的位置和原因的,根据提示信息找到对应的目录查看对应的文件,发现对应的目录下的weblogic.xml文件的内容如下所示 <container-descriptor> <pref

Weblogic发布小问题——weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND

前几天发布应用时出现了如下所示的一段错误提示信息: weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND problem: cvc-enumeration-valid: string value '3.0' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/java

weblogic发布项目使用myeclipse正常启动,点击startWeblogic.cmd报错的解决办法

今天在做项目的时候碰到一个问题,用weblogic发布的项目,使用myeclipse能正常启动,但点击startWeblogic.cmd就会报错,提示我的一个class not found.刚开始不清楚是什么问题,后来想了想,应该是jdk版本不一致的问题.后来试了一下,还真是的.我项目中使用的jdk是本机安装的1.7的版本,而使用的weblogic10自带的jdk是1.5的版本.这样的话,使用startWeblogic.cmd启动时,默认加载的就是weblogic自带的jdk.有两种解决办法,一

使用spring和Tomcat发布CXF WebService

上一节中使用代理工厂JaxWsProxyFactoryBean来发布WebService, 这种方式必须指定运行的端口,如果端口被占用,就会发布失败. cxf的WebService也可利用Tomcat来发布,并且使用8080端口.方法如下: maven配置: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>4.3.0

记一次Weblogic发布Springboot遇到的坑

项目使用的是Springboot,之前直接使用JAR包的方式发布,但在客户这边实施发布的时候,客户使用的容器是weblogic,版本为 10.3.6.  痛苦就此开始! 不过项目组还有另外一个也同样使用了Springboot,他们已经顺利发布了,嗯~ 再百度一下, 哈哈哈,这还不是简简单单! 这个事情,随手扔给下面的技术人员搞定就ok的嘛~   结果一周过去了,跟我说项目启不来.没任何反应 .   我??? 这么简单的事情都搞不定,我要你们何用?  于是我就大发慈悲,来帮帮你们吧~   我仿佛看

Spring整合CXF,发布RSETful 风格WebService(转)

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF WebService不了解,具体你可以参看这两篇文章: http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html http://www.cnblogs.com/ho

cxf发布 webservice服务

导包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar cxf-2.4.2.jar cxf-manifest.jar cxf-xjc-boolean-2.4.0.jar cxf-xjc-bug671-2.4.0.jar cxf-xjc-dv-2.4.0.jar cxf-xjc-ts-2.4.0.ja