XIncludeAwareParserConfiguration与XMLParserConfiguration不兼容

在AIX平台上将ear文件部署到WLS 10.3时,我收到此错误。 同样的耳朵在Windows / Linux平台上运行良好。

Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration incompatible with org.apache.xerces.xni.parser.XMLParserConfiguration at org.apache.xerces.parsers.DOMParser.(Unknown Source) at org.apache.xerces.parsers.DOMParser.(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source) at weblogic.xml.jaxp.WebLogicDocumentBuilderFactory.newDocumentBuilder(WebLogicDocumentBuilderFactory.java:140) at com.bea.security.xacml.policy.PolicyUtils.getRootNode(PolicyUtils.java:54) at com.bea.security.xacml.policy.PolicyUtils.read(PolicyUtils.java:86) at com.bea.security.providers.xacml.store.BasePolicyStore.getAbstractPolicy(BasePolicyStore.java:1251) at com.bea.security.providers.xacml.store.BasePolicyStore.readPolicy(BasePolicyStore.java:1231) at com.bea.security.providers.xacml.store.BasePolicyStore.readPolicy(BasePolicyStore.java:1114) at com.bea.security.providers.xacml.entitlement.PolicyManager.listPolicies(PolicyManager.java:747) at weblogic.security.providers.xacml.DeployableAuthorizationProviderV2Helper.startDeployPolicies(DeployableAuthorizationProviderV2Helper.java:90) at weblogic.security.providers.xacml.authorization.XACMLAuthorizationProviderImpl.startDeployPolicies(XACMLAuthorizationProviderImpl.java:269) at com.bea.common.security.internal.legacy.service.PolicyDeployerProviderImpl$V2Adapter.startDeployPolicies(PolicyDeployerProviderImpl.java:69) at com.bea.common.security.internal.service.PolicyDeploymentServiceImpl$DeploymentHandlerImpl.(PolicyDeploymentServiceImpl.java:143) at com.bea.common.security.internal.service.PolicyDeploymentServiceImpl$DeploymentHandlerImpl.(PolicyDeploymentServiceImpl.java:129) at com.bea.common.security.internal.service.PolicyDeploymentServiceImpl$ServiceImpl.startDeployPolicies(PolicyDeploymentServiceImpl.java:97) at weblogic.security.service.WLSPolicyDeploymentServiceWrapper$DeploymentHandlerImpl.(WLSPolicyDeploymentServiceWrapper.java:70) at weblogic.security.service.WLSPolicyDeploymentServiceWrapper$DeploymentHandlerImpl.(WLSPolicyDeploymentServiceWrapper.java:60) at weblogic.security.service.WLSPolicyDeploymentServiceWrapper.startDeployPolicies(WLSPolicyDeploymentServiceWrapper.java:40) at weblogic.security.service.AuthorizationManager.startDeployPolicies(AuthorizationManager.java:489) at weblogic.servlet.security.internal.WebAppSecurityWLS.(WebAppSecurityWLS.java:72) at weblogic.servlet.security.internal.ServletSecurityManager.(ServletSecurityManager.java:39) at weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:416) at weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:464) at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:414) at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:901) at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:345) 

您的类路径可能与Xerces API的不同版本化JAR文件混在一起。 清理类路径。 在Webapp/WEB-INF/lib情况下,这包括Webapp/WEB-INF/libAppserver/lib/JRE/lib文件夹。

最常见的原因是你有不同版本的Xerces JAR在Webapp/WEB-INF/libAppserver/lib上传播。 假设appserver库中的那些是默认提供的和正确的版本,请删除webapp库中的那些。 您不应该在webapp的库中拥有任何特定于appserver的JAR。