2013-04-15 2 views
0

J'ai une application dans les visages java qui fonctionnent correctement avec Tomcat 7 avec le web.xml suivant.weblogic java.lang.IllegalStateException: Impossible de trouver la sauvegarde pour la fabrique javax.faces.context.FacesContextFactory.

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>spfilesharing</display-name> 
    <welcome-file-list> 
     <welcome-file>index.xhtml</welcome-file> 
    </welcome-file-list> 
    <servlet> 
     <servlet-name>GetIAMToken</servlet-name> 
     <servlet-class>pt.ptinovacao.personal.spfilesharing.authentication.GetIAMToken</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>GetIAMToken</servlet-name> 
     <url-pattern>/getIAMToken</url-pattern> 
    </servlet-mapping> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
    <context-param> 
     <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
     <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
     <param-value>client</param-value> 
    </context-param> 
    <context-param> 
     <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
     <param-value>resources.application</param-value> 
    </context-param> 
    <listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 
    <filter> 
     <filter-name>PrimeFaces FileUpload Filter</filter-name> 
     <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>PrimeFaces FileUpload Filter</filter-name> 
     <servlet-name>Faces Servlet</servlet-name> 
    </filter-mapping> 
    <context-param> 
     <param-name>primefaces.THEME</param-name> 
     <param-value>bootstrap</param-value> 
    </context-param> 
</web-app> 

Pour déployer l'aplication dans weblogic J'utilise un projet d'oreille avec le suivi weblogic-application.xml.

<?xml version="1.0" encoding="UTF-8"?> 
<weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.0/weblogic-application.xsd" > 
    <prefer-application-packages> 
     <package-name>org.opensaml.*</package-name> 
     <package-name>org.slf4j.*</package-name> 
     <package-name>javax.faces.*</package-name> 
     <package-name>com.sun.faces.*</package-name> 
     <package-name>org.apache.myfaces.*</package-name> 
    </prefer-application-packages> 

    <prefer-application-resources> 
     <resource-name>javax.faces.*</resource-name> 
     <resource-name>com.sun.faces.*</resource-name> 

     <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name> 
    </prefer-application-resources> 

</weblogic-application> 

Quand je lance dans weblogic Je reçois l'erreur suivante:

java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory. 
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1010) 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342) 
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:302) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:299) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
    at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:94) 
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:82) 
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74) 
    at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:60) 
    at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:34) 
    at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:624) 
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:565) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:281) 
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163) 
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513) 
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 

Est-ce que quelqu'un sait comment y remédier?

Répondre

1

J'ai changé la weblogic-application.xml du projet oreille:

<?xml version="1.0" encoding="UTF-8"?> 
<weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.0/weblogic-application.xsd" > 
    <prefer-application-packages> 
     <package-name>org.opensaml.*</package-name> 
     <package-name>org.slf4j.*</package-name> 
    </prefer-application-packages> 
</weblogic-application> 

Et maintenant, il travaille.

Questions connexes