2016-06-27 7 views
0

TomEE 7을 사용하여 JSF 응용 프로그램을 배포하고 웹 서비스를 만든 후 응용 프로그램이 실행되지만 WS는 실행되지 않습니다. 나에게 HTTP 500 오류를 준다.CXF webservice : org.apache.xerces.parsers.XIncludeAwareParserConfiguration을 배포 할 때 오류가 발생했습니다. XMLParserConfiguration

SEVERE - Error deploying CXF webservice for servlet xxxxx 
java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration 
    at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source) 
    at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source) 
    at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source) 
    at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source) 

그것은 herehere 볼 같은 일부 xerces 클래스 또는 항아리 충돌이있는 것 같다. 내 lib 폴더에는 xerces가 없지만 내 pom.xml의 종속성 중 하나는 응용 프로그램의 lib에 포함 된 최신 버전 (C:\Users\user1\.m2\repository\xerces\xercesImpl\2.11.0\xercesImpl-2.11.0.jar)을로드합니다. 그러나 이것은 WS가 만들어지기 전에 이와 같았고 정상적으로 작동했습니다. 나머지 응용 프로그램은 잘로드되지만 웹 서비스 용 서블릿을로드 할 수 없습니다.

pom.xml의 종속성에서 xerces을 제외하려고 시도했지만 오류가 여전히 있습니다. 이 문제를 어떻게 해결할 수 있습니까?

tomee lib 디렉토리/

activemq-broker-5.13.3.jar 
activemq-client-5.13.3.jar 
activemq-jdbc-store-5.13.3.jar 
activemq-kahadb-store-5.13.3.jar 
activemq-openwire-legacy-5.13.3.jar 
activemq-protobuf-1.1.jar 
activemq-ra-5.13.3.jar 
bcprov-jdk15on-1.51.jar 
bval-core-1.1.1.jar 
bval-jsr-1.1.1.jar 
catalina-ant.jar 
catalina-ha.jar 
catalina-storeconfig.jar 
catalina-tribes.jar 
catalina.jar 
commonj.sdo-2.1.1.jar 
commons-beanutils-core-1.8.3.jar 
commons-cli-1.2.jar 
commons-codec-1.10.jar 
commons-collections-3.2.2.jar 
commons-dbcp2-2.1.jar 
commons-digester-1.8.jar 
commons-lang-2.6.jar 
commons-lang3-3.4.jar 
commons-logging-1.1.1.jar 
commons-pool2-2.3.jar 
cryptacular-1.0.jar 
cxf-core-3.1.6.jar 
cxf-rt-bindings-soap-3.1.6.jar 
cxf-rt-bindings-xml-3.1.6.jar 
cxf-rt-databinding-jaxb-3.1.6.jar 
cxf-rt-frontend-jaxrs-3.1.6.jar 
cxf-rt-frontend-jaxws-3.1.6.jar 
cxf-rt-frontend-simple-3.1.6.jar 
cxf-rt-management-3.1.6.jar 
cxf-rt-rs-client-3.1.6.jar 
cxf-rt-rs-extension-providers-3.1.6.jar 
cxf-rt-rs-extension-search-3.1.6.jar 
cxf-rt-rs-json-basic-3.1.6.jar 
cxf-rt-rs-security-cors-3.1.6.jar 
cxf-rt-rs-security-jose-3.1.6.jar 
cxf-rt-rs-security-jose-jaxrs-3.1.6.jar 
cxf-rt-rs-security-oauth2-3.1.6.jar 
cxf-rt-rs-service-description-3.1.6.jar 
cxf-rt-security-3.1.6.jar 
cxf-rt-security-saml-3.1.6.jar 
cxf-rt-transports-http-3.1.6.jar 
cxf-rt-ws-addr-3.1.6.jar 
cxf-rt-ws-policy-3.1.6.jar 
cxf-rt-ws-security-3.1.6.jar 
cxf-rt-wsdl-3.1.6.jar 
ecj-4.5.1.jar 
eclipselink-2.6.3.jar 
el-api.jar 
geronimo-connector-3.1.3.jar 
geronimo-javamail_1.4_mail-1.9.0-alpha-2.jar 
geronimo-transaction-3.1.3.jar 
hawtbuf-1.11.jar 
howl-1.0.1-1.jar 
hsqldb-2.3.2.jar 
jasper-el.jar 
jasper.jar 
jaspic-api.jar 
jasypt-1.9.2.jar 
java-support-7.1.1.jar 
javaee-api-7.0.jar 
javax.faces-2.2.12.jar 
javax.json-1.0.4.jar 
jaxb-api-2.2.6.jar 
joda-time-2.7.jar 
johnzon-core-0.9.3-incubating.jar 
johnzon-jaxrs-0.9.3-incubating.jar 
johnzon-mapper-0.9.3-incubating.jar 
jsp-api.jar 
mbean-annotation-api-7.0.0.jar 
mimepull-1.7.jar 
neethi-3.0.3.jar 
openejb-api-7.0.0.jar 
openejb-client-7.0.0.jar 
openejb-core-7.0.0.jar 
openejb-core-eclipselink-7.0.0.jar 
openejb-cxf-7.0.0.jar 
openejb-cxf-rs-7.0.0.jar 
openejb-cxf-transport-7.0.0.jar 
openejb-ejbd-7.0.0.jar 
openejb-hsql-7.0.0.jar 
openejb-http-7.0.0.jar 
openejb-javaagent.jar 
openejb-jee-7.0.0.jar 
openejb-jee-accessors-7.0.0.jar 
openejb-jpa-integration-7.0.0.jar 
openejb-jstl-1.2.jar 
openejb-loader-7.0.0.jar 
openejb-rest-7.0.0.jar 
openejb-server-7.0.0.jar 
openejb-webservices-7.0.0.jar 
openjpa-2.4.1.jar 
opensaml-core-3.1.1.jar 
opensaml-profile-api-3.1.1.jar 
opensaml-saml-api-3.1.1.jar 
opensaml-saml-impl-3.1.1.jar 
opensaml-security-api-3.1.1.jar 
opensaml-security-impl-3.1.1.jar 
opensaml-soap-api-3.1.1.jar 
opensaml-xacml-api-3.1.1.jar 
opensaml-xacml-impl-3.1.1.jar 
opensaml-xacml-saml-api-3.1.1.jar 
opensaml-xacml-saml-impl-3.1.1.jar 
opensaml-xmlsec-api-3.1.1.jar 
opensaml-xmlsec-impl-3.1.1.jar 
openwebbeans-ee-1.6.3.jar 
openwebbeans-ee-common-1.6.3.jar 
openwebbeans-ejb-1.6.3.jar 
openwebbeans-el22-1.6.3.jar 
openwebbeans-impl-1.6.3.jar 
openwebbeans-jsf-1.6.3.jar 
openwebbeans-spi-1.6.3.jar 
openwebbeans-web-1.6.3.jar 
quartz-openejb-shade-2.2.1.jar 
saaj-impl-1.3.18.jar 
serp-1.14.1.jar 
servlet-api.jar 
slf4j-api-1.7.21.jar 
slf4j-jdk14-1.7.21.jar 
stax2-api-3.1.4.jar 
swizzle-stream-1.6.2.jar 
sxc-jaxb-core-0.8.jar 
sxc-runtime-0.8.jar 
tomcat-api.jar 
tomcat-coyote.jar 
tomcat-dbcp.jar 
tomcat-i18n-es.jar 
tomcat-i18n-fr.jar 
tomcat-i18n-ja.jar 
tomcat-jdbc.jar 
tomcat-jni.jar 
tomcat-util-scan.jar 
tomcat-util.jar 
tomcat-websocket.jar 
tomee-catalina-7.0.0.jar 
tomee-common-7.0.0.jar 
tomee-jaxrs-7.0.0.jar 
tomee-jdbc-7.0.0.jar 
tomee-loader-7.0.0.jar 
tomee-mojarra-7.0.0.jar 
tomee-webapp-7.0.0.jar 
tomee-webservices-7.0.0.jar 
validation-api-1.1.0.Final.jar 
websocket-api.jar 
woodstox-core-asl-4.4.1.jar 
wsdl4j-1.6.3.jar 
wss4j-bindings-2.1.4.jar 
wss4j-policy-2.1.4.jar 
wss4j-ws-security-common-2.1.4.jar 
wss4j-ws-security-dom-2.1.4.jar 
wss4j-ws-security-policy-stax-2.1.4.jar 
wss4j-ws-security-stax-2.1.4.jar 
xbean-asm5-shaded-4.5.jar 
xbean-bundleutils-4.5.jar 
xbean-finder-shaded-4.5.jar 
xbean-naming-4.5.jar 
xbean-reflect-4.5.jar 
xml-apis-1.4.01.jar 
xml-resolver-1.2.jar 
xmlschema-core-2.2.1.jar 
xmlsec-1.5.8.jar 

편집

나는 tomee 디렉토리에 내 웹 애플리케이션 내부 Xerces에 대한 모든 참조를 삭제하고 내 pom.xml 파일이 사용하는 경우 :

<exclusions> 
    <exclusion> 
     <groupId>xerces</groupId> 
     <artifactId>xercesImpl</artifactId> 
    </exclusion> 
</exclusions> 

Th 저는 충돌과 서블릿이로드되지 않습니다. 다른 것들은 이제 실패하고 바인딩이 없기 때문에 웹 서비스를 호출 할 수 없습니다. 모두 누락 된 xerces와 관련이 있습니다.

중복 라이브러리 또는 일치하지 않는 버전으로 인해 충돌이 발생한 경우 어떻게 식별 할 수 있습니까? TomEE에는 xerces가없고 내 웹 앱에서만 보이기 때문입니다.

답변

0

이것이 장기적으로 효과가 있는지는 잘 모르겠지만, 지금까지 내 테스트는 상당히 긍정적 인 것처럼 보입니다.

내가 수행 한 작업은 pom.xml으로 이동하여 이미 가져온 것과 다른 버전 Xerces을 가져 오는 잠재적 인 종속성을 식별합니다. 종속성 내부에 다음을 추가했습니다.

<dependency> 
.... 
      <exclusions> 
       <exclusion> 
        <groupId>xerces</groupId> 
        <artifactId>xercesImpl</artifactId> 
       </exclusion> 
      </exclusions> 
</dependency> 

Maven 저장소에는 버전 2.11 만 있으므로 오류 메시지가 나타나는 이유를 모르겠습니다. 이전 버전의 다른 모든 디렉토리를 정리했는데 TomEE는 다른 버전도 없었습니다.