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

0

Witam szanownych forumowiczów,

piszę mały prywatny projekt webowy Javie

mój stos technologiczny:
JSF 2.2
Hibernate 4.3.1
PrimeFaces 5.3
Tomcat 8.0.27.0
MySQL 5.7.9

Korzystam z IDE Netbeans 8.1

Pierwotnie w projekcie skorzystałem z komponentu PrimeFaces 5.0 wbudowanego w tą wersję NetBeans.
Ponieważ chciałem wykorzystać diagramy wyłączyłem wbudowany komponent PrimeFaces 5.0
i dodałem do bibliotek bezpośrednio (right click na projekcie -> Libraries -> Add Jar/Folder) primefaces-5.3.jar

Aplikacja mi się buduje mogę wykonywać wszystkie operacje, które oprogramowałem.

Problem:Zauważyłem w okienku 'Apache Tomcat 8.0.27.0' niepokojący komunikat

26-Jan-2016 21:14:05.621 SEVERE [http-nio-8084-exec-49] com.sun.faces.config.ConfigureListener.contextDestroyed Unexpected exception when attempting to tear down the Mojarra runtime
 java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1135)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379)
	at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:142)
	at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:319)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4785)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5404)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3748)
	at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:1006)
	at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
 

Wujek google sugeruje konflikt pomiędzy .jar od jsf w projekcie.
Nie mogę określić, które to są .jar i jak rozwiązać problem.

Poniżej moja lista plików .jar wykorzystanych w projekcie

 
c:\Users\Adam\Documents\Notatniki\build\web\WEB-INF\lib>dir

2016-01-25  21:49           124 332 activation.jar
2016-01-25  21:49           437 548 antlr-2.7.7.jar
2016-01-25  21:49           422 423 c3p0-0.9.2.1.jar
2016-01-26  21:12            51 239 commons-email-1.4.jar
2016-01-26  21:12            69 002 commons-fileupload-1.3.1.jar
2016-01-26  21:12           185 140 commons-io-2.4.jar
2016-01-25  21:49           309 995 dom4j-1.6.1.jar
2016-01-25  21:49         8 478 776 eclipselink.jar
2016-01-25  21:49         1 007 109 ehcache-core-2.4.3.jar
2016-01-25  21:49            39 138 hibernate-c3p0-4.3.1.Final.jar
2016-01-25  21:49            75 740 hibernate-commons-annotations-4.0.4.Final.jar
2016-01-25  21:49         5 188 532 hibernate-core-4.3.1.Final.jar
2016-01-25  21:49           134 457 hibernate-ehcache-4.3.1.Final.jar
2016-01-25  21:49           643 750 hibernate-entitymanager-4.3.1.Final.jar
2016-01-25  21:49           115 983 hibernate-jpa-2.1-api-1.0.0.Final.jar
2016-01-25  21:49           702 810 javassist-3.18.1-GA.jar
2016-01-26  20:53         3 118 758 javax.faces.jar
2016-01-25  21:49           603 572 javax.mail.jar
2016-01-25  21:49           164 637 javax.persistence_2.1.0.v201304241213.jar
2016-01-25  21:49            57 523 jboss-logging-3.1.3.GA.jar
2016-01-25  21:49            28 135 jboss-transaction-api_1.2_spec-1.0.0.Final.jar
2016-01-25  21:49           584 783 mchange-commons-java-0.2.3.4.jar
2016-01-25  21:49           834 126 mysql-connector-java-5.1.23-bin.jar
2016-01-25  21:49         1 366 247 org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar
2016-01-25  21:49         3 422 913 primefaces-5.3.jar
2016-01-25  21:49            25 734 slf4j-api-1.6.1.jar
2016-01-25  21:49             7 741 slf4j-simple-1.6.1.jar

Uprzejmie proszę doświadczonych deweloperów o pomoc

Pozdrawiam,
Valefor1981

1

Udało mi się rozwiązać problem samemu.

w swojej aplikacji zastosowałem fileUpload
na podstawie tutoriala
http://javaonlineguide.net/2015/07/file-upload-in-jsf-primefaces-5-2-example-simple-advanced-mode.html

W tym tutorialu w pliku web.xml
miałem zamieścić poniższy node

 
  <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>

Aktualnie go zakomentowałem i aplikacja działa poprawnie.
Mogę wgrywać pliki na serwer, które wskaże użytkownik z lokalnego systemu plików.
Nie mam błędu, który opisałem powyżej.

Z czystej ciekawości przeszukałem pliki jar z listy, którą załączyłem.
Wyszło mi, że fragment com.sun.faces.config.ConfigureListener
występuje w
javax.faces.jar\META-INF\jsf_core.tld

 
    <!-- ============== Configuration Listener ============== -->

    <!--
          This ServletContextListener initializes the runtime environment
          of the JavaServer Faces Reference Implementation when a web
          application including it is initialized by the container.
    -->
    <listener>
       <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>   

zapewne w wersji z której korzystał autor tutoriala nie było tego węzła
i musiał dodać go ręcznie w web.xml

Dziękuje za zainteresowanie
moim problemem.

Pozdrawiam,
Valefor1981

1 użytkowników online, w tym zalogowanych: 0, gości: 1