将应用部署在weblogic中于axis2冲突的问题
接昨天的一篇博文
?
昨天将应用部署在weblogic server 10.3.4,一切正常。
今天将应用部署到weblogic server 10.3时,出现一个错误,如下:
?
weblogic.application.ModuleException:???? ???? at
weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:295)??? ???? at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)??? ???? at
weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)??? ???? at
weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)??? ???? at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)??? ???? Truncated. see log file
for complete stacktrace??? java.lang.ClassCastException:
com.ctc.wstx.stax.WstxInputFactory??? ???? at
javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:136)??? ???? at
weblogic.servlet.internal.WebAppHelper.addListenerElements(WebAppHelper.java:244)??? ???? at
weblogic.servlet.internal.WebAppHelper$IOHelperImpl.parseXML(WebAppHelper.java:224)??? ???? at
weblogic.descriptor.DescriptorCache.parseXML(DescriptorCache.java:324)??? ???? at
weblogic.servlet.internal.WebAppHelper.registerTagLibListeners(WebAppHelper.java:174)??? ???? Truncated. see log file
for complete stacktrace?
|
?
而在我的项目中,WEB-INF\lib 下面配置了一个weblogic.xml文件
<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC
"-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
?
<weblogic-web-app
>
? <container-descriptor>
???
<prefer-web-inf-classes>true</prefer-web-inf-classes>
? </container-descriptor>
?
?
<context-root>/</context-root>
</weblogic-web-app>
|
?
weblogic-web-app这一段配置可以解决项目中的包与weblogic的包冲突的问题,如果设置为true,如果weblogic启动遇到包冲突问题,优先加载项目WEB-INF\lib的包;
?
在weblogic server 10.3.4是ok的,而在weblogic server 10.3.0下这个配置针对Axis2(因为使用了StAX API) 似乎没起到作用。 ?奇怪,待解中。(各位网友能帮我解释下吗?)
?
于是删掉项目WEB-INF\lib 下面的? wstx-asl-3.2.4.jar 包问题解决。