2012-09-26 2 views
0

웹 응용 프로그램을 myfaces 1.1에서 1.2로 업그레이드하려고합니다. 최신 2.x 버전으로 직접 이전하는 것보다 쉽기를 바랬습니다. 이러한 예외가 관찰 할 수 로그인myfaces 1.1에서 1.2로 마이그레이션

SEVERE: StandardWrapper.Throwable 
java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions! 
If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml. 
A typical config looks like this; 
<listener> 
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> 
</listener> 

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:106) 
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:137) 
at evo.ui.jsf.EvoFacesServlet.init(EvoFacesServlet.java:56) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4420) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4733) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:592) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

응용 프로그램에서 :

2012-09-26 15:44:00|main|ERROR|org.apache.myfaces.webapp.AbstractFacesInitializer|An error occured while initializing MyFaces: null 
java.lang.NullPointerException 
    at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:61) 
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:96) 
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:89) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:592) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

web.xml의 모습 내가 응용 프로그램을 시작하려고 해요 그러나 나는 이러한 오류를 받고 있어요 이 :

<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 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/web-app_2_5.xsd"> 

<description>My app</description> 
<display-name>My app</display-name> 

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 

<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
</context-param> 

<context-param> 
    <param-name>facelets.REFRESH_PERIOD</param-name> 
    <param-value>2</param-value> 
</context-param> 

<context-param> 
    <param-name>facelets.DEVELOPMENT</param-name> 
    <param-value>false</param-value> 
</context-param> 

<context-param> 
    <param-name>facelets.RESOURCE_RESOLVER</param-name> 
    <param-value>evo.ui.jsf.EvoResourceResolver</param-value> 
</context-param> 

<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
</context-param>  

<!-- AJAX4JSF --> 
<context-param> 
    <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> 
    <param-value>com.sun.facelets.FaceletViewHandler</param-value> 
</context-param> 

<context-param> 
    <param-name>org.ajax4jsf.SKIN</param-name> 
    <param-value>DEFAULT</param-value> 
</context-param> 

<context-param> 
    <param-name>evo.ajaxlink.level</param-name> 
    <param-value>2</param-value> 
</context-param> 

<filter> 
    <display-name>Ajax4jsf Filter</display-name> 
    <filter-name>ajax4jsf</filter-name> 
    <filter-class>org.ajax4jsf.Filter</filter-class> 
    <init-param> 
     <param-name>forceparser</param-name> 
     <param-value>false</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>ajax4jsf</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> 
</filter-mapping> 

<filter> 
    <filter-name>UploadMultipartFilter</filter-name> 
    <filter-class> 
     evo.ui.jsf.filters.UploadMultipartFilter 
    </filter-class> 
</filter> 

<filter> 
    <filter-name>OpenSessionInViewFilter</filter-name> 
    <filter-class> 
     org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 
    </filter-class> 
    <init-param> 
     <param-name>singleSession</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>sessionFactoryBeanName</param-name> 
     <param-value>configDatabaseSessionFactory</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>OpenSessionInViewFilter</filter-name> 
    <url-pattern>*.jsf</url-pattern> 
</filter-mapping> 

<filter> 
    <filter-name>MyFacesExtensionsFilter</filter-name> 
    <filter-class> 
     org.apache.myfaces.webapp.filter.ExtensionsFilter 
    </filter-class> 
    <init-param> 
     <param-name>maxFileSize</param-name> 
     <param-value>20m</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>MyFacesExtensionsFilter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

<filter-mapping> 
    <filter-name>MyFacesExtensionsFilter</filter-name> 
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern> 
</filter-mapping> 

<filter-mapping> 
    <filter-name>UploadMultipartFilter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

<filter> 
    <description>Force encoding to get correct results of sorting 
    Global Task List with fields containing non-ASCII characters. 
    </description> 
    <filter-name>EncodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value>    
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>EncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>evo.ui.jsf.EvoFacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.jsf</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 

<listener> 
    <listener-class> 
     org.apache.myfaces.webapp.StartupServletContextListener 
    </listener-class> 
</listener> 

<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 

<listener> 
    <listener-class> 
     org.springframework.web.context.request.RequestContextListener 
    </listener-class> 
</listener> 


<!-- XFIRE Webservices --> 
<servlet> 
    <servlet-name>xfire</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>xfire</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

<session-config> 
    <session-timeout>60</session-timeout> 
</session-config> 

< 웹 응용 프로그램 > 태그 하 버전이 "2.4"에서 "2.5"로 업데이트되었습니다. 위임 된 서블릿 (EvoFacesServlet)을 원본 javax.faces.webapp.FacesServlet으로 대체하려고 시도했지만 성공하지 못했습니다.

서블릿 컨테이너는 내가이 작업을하려면 어떻게해야 다른 어떤 톰캣 6

입니까?

답변

0

배포에서 컨테이너 관련 jar를 제거하면 servlet-api.jar, el-api.jar, jsp-api.jar도 도움이됩니다. 그 중 어느 것이 문제의 원인인지 확실하지 않습니다.

+0

종속성은 어떻게 생겼습니까? org.apache.myfaces.tomahawk 및 타일을 업그레이드해야합니까? – Angelina

+1

기억이 안납니다. 오래 전이었습니다. – pkalinow

관련 문제