java.lang.IllegalStateException:Could not find backup for factory javax.faces.application.ApplicationFactory





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







25















I'm using this :




  • Tomcat 7.0

  • JSF 2.0

  • JRE 7


but when trying to run my application, I got the following exception:



java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Any ideas why?



Thanks,










share|improve this question

























  • I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

    – Eddy
    Feb 2 '16 at 7:37


















25















I'm using this :




  • Tomcat 7.0

  • JSF 2.0

  • JRE 7


but when trying to run my application, I got the following exception:



java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Any ideas why?



Thanks,










share|improve this question

























  • I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

    – Eddy
    Feb 2 '16 at 7:37














25












25








25


7






I'm using this :




  • Tomcat 7.0

  • JSF 2.0

  • JRE 7


but when trying to run my application, I got the following exception:



java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Any ideas why?



Thanks,










share|improve this question
















I'm using this :




  • Tomcat 7.0

  • JSF 2.0

  • JRE 7


but when trying to run my application, I got the following exception:



java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Any ideas why?



Thanks,







jsf jsf-2 factory illegalstateexception






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 16 '15 at 6:36









BalusC

861k30231903244




861k30231903244










asked Sep 19 '13 at 14:47









Benjamin GimetBenjamin Gimet

3251616




3251616













  • I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

    – Eddy
    Feb 2 '16 at 7:37



















  • I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

    – Eddy
    Feb 2 '16 at 7:37

















I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

– Eddy
Feb 2 '16 at 7:37





I had the same problem after restarting Eclipse. Deleting the project from the server and rerunning it made the problem disappear.

– Eddy
Feb 2 '16 at 7:37












3 Answers
3






active

oldest

votes


















30














That may happen if your webapp's runtime classpath is polluted with multiple JSF impls/versions. The org.apache.myfaces entries in the stack trace tells that you're using MyFaces. This problem thus suggests that you've another JSF implementation like Mojarra in the webapp's runtime classpath which is conflicting with it. It's recognizable by jsf-api.jar, or jsf-impl.jar, or javax.faces.jar. If you remove all of them, then this problem should disappear.



Or, if you actually intented to use Mojarra instead of MyFaces (you did namely not explicitly state the intented JSF impl/version anywhere in your question, but you just generically stated the JSF spec as in "JSF 2.0", so perhaps you actually had no clue what you was all doing), then you should be removing myfaces-*.jar files from your webapp.



See also:




  • JSF wiki page - Installing JSF

  • How to properly install and configure JSF libraries via Maven?

  • Difference between Mojarra and MyFaces

  • JSF implementations and component libraries






share|improve this answer

































    4














    Complementing BalusC's answer, I recently got this error when trying to run an independent JAR with a Spring Boot application that has JSF as front-end with Spring-managed beans. Switching the packaging from JAR to WAR solved the problem.






    share|improve this answer































      1














      For me {Tomcat 8, JSF 2.2, JRE 8}, the following steps worked:




      1. Download JSTL jars API && IMPL and place it in your Tomcat lib.


      2. Since downloading Majorra directly from eclipse in project
        facets configuration is recently impossible ; "Zip File is empty Exception",
        manually download jsf-api.jar and jsf-impl.jar and include them in a
        new user library added to build path(only once!).



      This is my web.xml:



      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
      <display-name>TestJSF</display-name>
      <welcome-file-list>
      <welcome-file>index.xhtml</welcome-file>
      <welcome-file>index.htm</welcome-file>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>default.html</welcome-file>
      <welcome-file>default.htm</welcome-file>
      <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <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>/faces/*</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>
      </web-app>





      share|improve this answer






















        protected by Community Jun 25 '15 at 11:20



        Thank you for your interest in this question.
        Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



        Would you like to answer one of these unanswered questions instead?














        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        30














        That may happen if your webapp's runtime classpath is polluted with multiple JSF impls/versions. The org.apache.myfaces entries in the stack trace tells that you're using MyFaces. This problem thus suggests that you've another JSF implementation like Mojarra in the webapp's runtime classpath which is conflicting with it. It's recognizable by jsf-api.jar, or jsf-impl.jar, or javax.faces.jar. If you remove all of them, then this problem should disappear.



        Or, if you actually intented to use Mojarra instead of MyFaces (you did namely not explicitly state the intented JSF impl/version anywhere in your question, but you just generically stated the JSF spec as in "JSF 2.0", so perhaps you actually had no clue what you was all doing), then you should be removing myfaces-*.jar files from your webapp.



        See also:




        • JSF wiki page - Installing JSF

        • How to properly install and configure JSF libraries via Maven?

        • Difference between Mojarra and MyFaces

        • JSF implementations and component libraries






        share|improve this answer






























          30














          That may happen if your webapp's runtime classpath is polluted with multiple JSF impls/versions. The org.apache.myfaces entries in the stack trace tells that you're using MyFaces. This problem thus suggests that you've another JSF implementation like Mojarra in the webapp's runtime classpath which is conflicting with it. It's recognizable by jsf-api.jar, or jsf-impl.jar, or javax.faces.jar. If you remove all of them, then this problem should disappear.



          Or, if you actually intented to use Mojarra instead of MyFaces (you did namely not explicitly state the intented JSF impl/version anywhere in your question, but you just generically stated the JSF spec as in "JSF 2.0", so perhaps you actually had no clue what you was all doing), then you should be removing myfaces-*.jar files from your webapp.



          See also:




          • JSF wiki page - Installing JSF

          • How to properly install and configure JSF libraries via Maven?

          • Difference between Mojarra and MyFaces

          • JSF implementations and component libraries






          share|improve this answer




























            30












            30








            30







            That may happen if your webapp's runtime classpath is polluted with multiple JSF impls/versions. The org.apache.myfaces entries in the stack trace tells that you're using MyFaces. This problem thus suggests that you've another JSF implementation like Mojarra in the webapp's runtime classpath which is conflicting with it. It's recognizable by jsf-api.jar, or jsf-impl.jar, or javax.faces.jar. If you remove all of them, then this problem should disappear.



            Or, if you actually intented to use Mojarra instead of MyFaces (you did namely not explicitly state the intented JSF impl/version anywhere in your question, but you just generically stated the JSF spec as in "JSF 2.0", so perhaps you actually had no clue what you was all doing), then you should be removing myfaces-*.jar files from your webapp.



            See also:




            • JSF wiki page - Installing JSF

            • How to properly install and configure JSF libraries via Maven?

            • Difference between Mojarra and MyFaces

            • JSF implementations and component libraries






            share|improve this answer















            That may happen if your webapp's runtime classpath is polluted with multiple JSF impls/versions. The org.apache.myfaces entries in the stack trace tells that you're using MyFaces. This problem thus suggests that you've another JSF implementation like Mojarra in the webapp's runtime classpath which is conflicting with it. It's recognizable by jsf-api.jar, or jsf-impl.jar, or javax.faces.jar. If you remove all of them, then this problem should disappear.



            Or, if you actually intented to use Mojarra instead of MyFaces (you did namely not explicitly state the intented JSF impl/version anywhere in your question, but you just generically stated the JSF spec as in "JSF 2.0", so perhaps you actually had no clue what you was all doing), then you should be removing myfaces-*.jar files from your webapp.



            See also:




            • JSF wiki page - Installing JSF

            • How to properly install and configure JSF libraries via Maven?

            • Difference between Mojarra and MyFaces

            • JSF implementations and component libraries







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited May 23 '17 at 12:02









            Community

            11




            11










            answered Sep 19 '13 at 14:58









            BalusCBalusC

            861k30231903244




            861k30231903244

























                4














                Complementing BalusC's answer, I recently got this error when trying to run an independent JAR with a Spring Boot application that has JSF as front-end with Spring-managed beans. Switching the packaging from JAR to WAR solved the problem.






                share|improve this answer




























                  4














                  Complementing BalusC's answer, I recently got this error when trying to run an independent JAR with a Spring Boot application that has JSF as front-end with Spring-managed beans. Switching the packaging from JAR to WAR solved the problem.






                  share|improve this answer


























                    4












                    4








                    4







                    Complementing BalusC's answer, I recently got this error when trying to run an independent JAR with a Spring Boot application that has JSF as front-end with Spring-managed beans. Switching the packaging from JAR to WAR solved the problem.






                    share|improve this answer













                    Complementing BalusC's answer, I recently got this error when trying to run an independent JAR with a Spring Boot application that has JSF as front-end with Spring-managed beans. Switching the packaging from JAR to WAR solved the problem.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 6 '15 at 16:20









                    Cenobyte321Cenobyte321

                    1791725




                    1791725























                        1














                        For me {Tomcat 8, JSF 2.2, JRE 8}, the following steps worked:




                        1. Download JSTL jars API && IMPL and place it in your Tomcat lib.


                        2. Since downloading Majorra directly from eclipse in project
                          facets configuration is recently impossible ; "Zip File is empty Exception",
                          manually download jsf-api.jar and jsf-impl.jar and include them in a
                          new user library added to build path(only once!).



                        This is my web.xml:



                        <?xml version="1.0" encoding="UTF-8"?>
                        <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
                        <display-name>TestJSF</display-name>
                        <welcome-file-list>
                        <welcome-file>index.xhtml</welcome-file>
                        <welcome-file>index.htm</welcome-file>
                        <welcome-file>index.jsp</welcome-file>
                        <welcome-file>default.html</welcome-file>
                        <welcome-file>default.htm</welcome-file>
                        <welcome-file>default.jsp</welcome-file>
                        </welcome-file-list>
                        <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>/faces/*</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>
                        </web-app>





                        share|improve this answer




























                          1














                          For me {Tomcat 8, JSF 2.2, JRE 8}, the following steps worked:




                          1. Download JSTL jars API && IMPL and place it in your Tomcat lib.


                          2. Since downloading Majorra directly from eclipse in project
                            facets configuration is recently impossible ; "Zip File is empty Exception",
                            manually download jsf-api.jar and jsf-impl.jar and include them in a
                            new user library added to build path(only once!).



                          This is my web.xml:



                          <?xml version="1.0" encoding="UTF-8"?>
                          <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
                          <display-name>TestJSF</display-name>
                          <welcome-file-list>
                          <welcome-file>index.xhtml</welcome-file>
                          <welcome-file>index.htm</welcome-file>
                          <welcome-file>index.jsp</welcome-file>
                          <welcome-file>default.html</welcome-file>
                          <welcome-file>default.htm</welcome-file>
                          <welcome-file>default.jsp</welcome-file>
                          </welcome-file-list>
                          <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>/faces/*</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>
                          </web-app>





                          share|improve this answer


























                            1












                            1








                            1







                            For me {Tomcat 8, JSF 2.2, JRE 8}, the following steps worked:




                            1. Download JSTL jars API && IMPL and place it in your Tomcat lib.


                            2. Since downloading Majorra directly from eclipse in project
                              facets configuration is recently impossible ; "Zip File is empty Exception",
                              manually download jsf-api.jar and jsf-impl.jar and include them in a
                              new user library added to build path(only once!).



                            This is my web.xml:



                            <?xml version="1.0" encoding="UTF-8"?>
                            <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
                            <display-name>TestJSF</display-name>
                            <welcome-file-list>
                            <welcome-file>index.xhtml</welcome-file>
                            <welcome-file>index.htm</welcome-file>
                            <welcome-file>index.jsp</welcome-file>
                            <welcome-file>default.html</welcome-file>
                            <welcome-file>default.htm</welcome-file>
                            <welcome-file>default.jsp</welcome-file>
                            </welcome-file-list>
                            <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>/faces/*</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>
                            </web-app>





                            share|improve this answer













                            For me {Tomcat 8, JSF 2.2, JRE 8}, the following steps worked:




                            1. Download JSTL jars API && IMPL and place it in your Tomcat lib.


                            2. Since downloading Majorra directly from eclipse in project
                              facets configuration is recently impossible ; "Zip File is empty Exception",
                              manually download jsf-api.jar and jsf-impl.jar and include them in a
                              new user library added to build path(only once!).



                            This is my web.xml:



                            <?xml version="1.0" encoding="UTF-8"?>
                            <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
                            <display-name>TestJSF</display-name>
                            <welcome-file-list>
                            <welcome-file>index.xhtml</welcome-file>
                            <welcome-file>index.htm</welcome-file>
                            <welcome-file>index.jsp</welcome-file>
                            <welcome-file>default.html</welcome-file>
                            <welcome-file>default.htm</welcome-file>
                            <welcome-file>default.jsp</welcome-file>
                            </welcome-file-list>
                            <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>/faces/*</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>
                            </web-app>






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Nov 22 '18 at 13:16









                            TiyebMTiyebM

                            1,5581133




                            1,5581133

















                                protected by Community Jun 25 '15 at 11:20



                                Thank you for your interest in this question.
                                Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                                Would you like to answer one of these unanswered questions instead?



                                Popular posts from this blog

                                Guess what letter conforming each word

                                Port of Spain

                                Run scheduled task as local user group (not BUILTIN)