Friday, February 12, 2010

Solving Configuration Failed Error on JSF 2.0 + IceFaces 2.0

I'm trying IceFaces 2.0 alpha 2 web development on JSF 2.0, using NetBeans 6.8 and Glassfish v3. The JARs needed are:
  • icefaces.jar
  • icepush.jar
  • icefaces-compat.jar
  • icefaces-comps-compat.jar
  • krysalis-jCharts-1.0.0-alpha-1.jar

If you are getting this error:
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.apache.commons.logging.LogFactory
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5216)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:499)
Backtracking above, the error log shows:
com.sun.faces.config.ConfigurationException: 
  Source Document: jar:file:/C:/Users/ceefour/Documents/NetBeansProjects/AddressBook/build/web/WEB-INF/lib/icefaces-comps-compat.jar!/META-INF/faces-config.xml
  Cause: Class 'com.icesoft.faces.component.effect.ApplyEffectRenderer' is missing a runtime dependency: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:281)
        at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:313)
Which means Apache Commons Logging is needed.

To solve this problem, add commons-logging.jar into the web app classpath, and the IceFaces 2.0 web application should start successfully.