2013-11-15 17 views
6

Weblogic sunucusunu 9'dan 10.3.6'ya yükseltiyorum. kulak uygulamamı dağıtmaya çalıştığımda ve istisnanın altında kaldığımda. .ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl javax.xml.parsers.DocumentBuilderFactory için yayınlanamaz

Caused By: java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory 
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:123) 
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFactory(DefaultDocumentLoader.java:89) 
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:70) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353) 
    at org.springframework.context.access.ContextSingletonBeanFactoryLocator.initializeDefinition(ContextSingletonBeanFactoryLocator.java:141) 
    at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:384) 
    at org.springframework.web.context.ContextLoader.loadParentContext(ContextLoader.java:341) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:195) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) 
    at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
    at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181) 
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1868) 

Bir weblogic-application.xml ekleme dahil şeyler için her türlü çalıştı ancak hala çalışmıyor.

<dependency> 
<groupId>xerces</groupId> 
<artifactId>xercesImpl</artifactId> 
<version>2.8.1</version> 
<scope>runtime</scope> 
</dependency> 

yardım edin:

<?xml version="1.0" encoding="UTF-8"?> 
    <weblogic-application> 
<xml> 
<parser-factory> 
    <saxparser-factory> 
     org.apache.xerces.jaxp.SAXParserFactoryImpl 
    </saxparser-factory> 
    <document-builder-factory> 
     org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 
    </document-builder-factory> 
    <transformer-factory> 
     org.apache.xalan.processor.TransformerFactoryImpl 
    </transformer-factory> 
    </parser-factory> 
</xml> 

<prefer-application-packages> 
<package-name>org.apache.xerces.parsers.*</package-name> 
</prefer-application-packages> 
</weblogic-application> 

benim weblogic.xml

<prefer-web-inf-classes>true</prefer-web-inf-classes> 

Bu benim pom.xml parçasıdır sahiptir. Teşekkürler!

cevap

12

Benim kendi soruya cevap: linke Aşağıda

bu sorunu düzeltmek bana ilham:

Dealing with "Xerces hell" in Java/Maven?

Basiclly ben xml-API ve pom.xml'Bu xmlParserAPIs tüm bağımlılıklarını kaldırdık. Sorun çözüldü. Kök neden, sınıf yolumun, kütüphanenin Weblogic uygulama sunucusu ile çakışmasına neden olan herhangi bir javax kütüphanesi içermemesidir. Umarım yardımcı olur.

+0

Ne yaptığınızı gösterir misiniz? Spring MDP'leri bir WL uygulamasına ekledim ve şimdi aynı hatayla dağıtılmayacak. –

İlgili konular