问题描述

户使用tongweb7049m10部署应用,报错如下所示:

 [jsf-impl] [Critical error during deployment: ]
com.tongweb.faces.config.ConfigurationException: Factory 'javax.faces.render.RenderKitFactory' was not configured properly.
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:332)
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:238)
	at com.tongweb.faces.config.ConfigManager.initialize(ConfigManager.java:437)
	at com.tongweb.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:220)
	at com.tongweb.catalina.core.StandardContext.listenerStart(StandardContext.java:4811)
	at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5389)
	at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:204)
	at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734)
	at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:710)
	at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:727)
	at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:774)
	at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:231)
	at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireWebtierProcess(ThanosWebtierWebAppBuilder.java:473)
	at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:384)
	at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:398)
	at com.tongweb.deploy.TongWebDeployer$1.run(TongWebDeployer.java:335)
	at java.lang.Thread.run(Thread.java:750)
Caused by: javax.faces.FacesException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory
	at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:407)
	at javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderInstance.java:270)
	at javax.faces.FactoryFinderInstance.getFactory(FactoryFinderInstance.java:543)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:283)
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:330)
	... 17 more
Caused by: java.lang.InstantiationException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory
	at java.lang.Class.newInstance(Class.java:427)
	at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:405)
	... 21 more
Caused by: java.lang.NoSuchMethodException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>()
	at java.lang.Class.getConstructor0(Class.java:3082)
	at java.lang.Class.newInstance(Class.java:412)
	... 22 more
[2026-04-14 11:29:39 629] [SEVERE] [Thread-62] [core] [Exception sending context initialized event to listener instance of class com.tongweb.faces.config.ConfigureListener]
java.lang.RuntimeException: com.tongweb.faces.config.ConfigurationException: Factory 'javax.faces.render.RenderKitFactory' was not configured properly.
	at com.tongweb.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:285)
	at com.tongweb.catalina.core.StandardContext.listenerStart(StandardContext.java:4811)
	at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5389)
	at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:204)
	at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734)
	at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:710)
	at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:727)
	at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:774)
	at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:231)
	at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireWebtierProcess(ThanosWebtierWebAppBuilder.java:473)
	at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:384)
	at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:398)
	at com.tongweb.deploy.TongWebDeployer$1.run(TongWebDeployer.java:335)
	at java.lang.Thread.run(Thread.java:750)
Caused by: com.tongweb.faces.config.ConfigurationException: Factory 'javax.faces.render.RenderKitFactory' was not configured properly.
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:332)
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:238)
	at com.tongweb.faces.config.ConfigManager.initialize(ConfigManager.java:437)
	at com.tongweb.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:220)
	... 14 more
Caused by: javax.faces.FacesException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory
	at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:407)
	at javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderInstance.java:270)
	at javax.faces.FactoryFinderInstance.getFactory(FactoryFinderInstance.java:543)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:283)
	at com.tongweb.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:330)
	... 17 more
Caused by: java.lang.InstantiationException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory
	at java.lang.Class.newInstance(Class.java:427)
	at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:405)
	... 21 more
Caused by: java.lang.NoSuchMethodException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>()
	at java.lang.Class.getConstructor0(Class.java:3082)
	at java.lang.Class.newInstance(Class.java:412)
	... 22 more

原因

tongweb自带有jsf相关jar包,与应用的jsf的jar冲突。

解决方案

找到conf目录下的tongweb.xml,添加一下配置再重启:

在这里插入图片描述
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐