部署TomCat问题:找不到工厂javax.faces.application.ApplicationFactory的备份

问题描述 投票:0回答:1

我有一个使用JSF 2.3,Primefaces 6.3的应用程序,我始终使用Wildfly 15进行部署。但是现在我需要使用Tomcat 8.5或更高版本进行部署,但是当我运行“ startup.bat”时,始终不会成功。我已经更改了jsf-api jar,impl.jar和其他内容。有人知道我可以解决这个问题吗?

已经更改了一些罐子,在web.xml上添加了侦听器

com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:377)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4680)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5150)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1849)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
Caused by: java.lang.UnsupportedOperationException
        at javax.faces.application.Application.addSearchKeywordResolver(Application.java:2055)
        at org.primefaces.util.Jsf23Helper.addSearchKeywordResolvers(Jsf23Helper.java:27)
        at org.primefaces.webapp.PostConstructApplicationEventListener.processEvent(PostConstructApplicationEventListener.java:48)
        at javax.faces.event.SystemEvent.processListener(SystemEvent.java:147)
        at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2169)
        at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2145)
        at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:296)
        at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:602)
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:371)
        ... 42 more
04-Jun-2019 11:38:06.401 GRAVE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
04-Jun-2019 11:38:06.651 ADVERTÊNCIA [main] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [242] milliseconds.
04-Jun-2019 11:38:06.651 GRAVE [main] org.apache.catalina.core.StandardContext.startInternal Context [/hstchipcentre-web] startup failed due to previous errors
04-Jun-2019 11:38:06.666 GRAVE [main] javax.faces.FactoryFinderInstance.getFactory O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory. Attempting to find backup.
04-Jun-2019 11:38:06.682 GRAVE [main] 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.FactoryFinderInstance.getFactory(FactoryFinderInstance.java:541)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292)
        at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:136)
        at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:328)
        at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4727)
        at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5388)```
jsf primefaces tomcat9
1个回答
0
投票

[在我创建了jsf-api jar的项目中,impl.jar复制了。问题已解决。

© www.soinside.com 2019 - 2024. All rights reserved.