2010-11-02 76 views
2

我有一个在Tomcat 7.0.4服务器上工作的现有JSF 2.0项目。我正在尝试将Icefaces 2.0.0 Beta2添加到此项目中。我从Icefaces官方主页下载了文件ICEfaces-2.0.0-Beta2-bin.zip,并按照说明hereJSF 2.0 + Icefaces 2.0.0 Beta2和Tomcat 7失败

我复制了4个文件icefaces.jaricepush.jaricefaces-ace.jaricefaces-compat.jarICEfaces-2.0.0-Beta2-bin/icefaces/lib目录到WEB-INF/lib目录(即我包括我所有的罐子的一个)。 jsf-api.jarjsf-impl.jar已经包含在我的项目中,因此不会被复制。

当我部署web应用程序到Tomcat 7服务器,出现下列错误:

/home/user > ant deploy reload 

Buildfile: build.xml 

build: 

deploy: 

reload: 
    [reload] FAIL - Encountered exception java.lang.IllegalStateException: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/wtree-www] has not been started 

BUILD FAILED 
FAIL - Encountered exception java.lang.IllegalStateException: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/wtree-www] has not been started 

Total time: 0 seconds 

这是从catalina.log,我认为这可能是intresting:

INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed. 
Nov 2, 2010 10:04:42 PM org.icepush.servlet.MainServlet <init> 
INFO: 
ICEsoft Technologies Inc. 
ICEpush 2.0.0 Beta2 
Build number: 13 
Revision: 22877 

Nov 2, 2010 10:04:43 PM org.icefaces.util.EnvConfig init 
INFO: ICEfaces Configuration: 
org.icefaces.render.auto: true [default] 
org.icefaces.autoid: true [default] 
org.icefaces.aria.enabled: true [default] 
org.icefaces.blockUIOnSubmit: false [default] 
org.icefaces.compressDOM: false [default] 
org.icefaces.compressResources: true [default] 
org.icefaces.connectionLostRedirectURI: null [default] 
org.icefaces.deltaSubmit: false [default] 
org.icefaces.lazyPush: true [default] 
org.icefaces.sessionExpiredRedirectURI: null [default] 
org.icefaces.standardFormSerialization: false [default] 
org.icefaces.strictSessionTimeout: false [default] 
org.icefaces.windowScopeExpiration = 1000 [default] 
Nov 2, 2010 10:04:43 PM org.icefaces.impl.renderkit.DOMRenderKit <clinit> 
INFO: 
ICEsoft Technologies Inc. 
ICEfaces 2.0.0 Beta2 
Build number: 003 
Revision: 22976 

Nov 2, 2010 10:04:43 PM com.sun.faces.config.ConfigManager initialize 
INFO: Unsanitized stacktrace from failed start... 
com.sun.faces.config.ConfigurationException: 
    Source Document: jar:file:/opt/apache-tomcat-7.0.4/webapps/wtree-www/WEB-INF/lib/icefaces-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:275) 
at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:309) 
at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:175) 
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:110) 
at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:266) 
at com.su ..... 
...... 
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.<clinit>(DomBasicRenderer.java:61) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
..... 
Nov 2, 2010 10:04:43 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Nov 2, 2010 10:04:43 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/wtree-www] startup failed due to previous errors 

我不了解如何复制4个文件可能会产生此错误。我没有做任何事你能帮我吗?

回答

2

像往常一样,异常堆栈跟踪的caused by部分讲述了问题的根本原因。你的情况如下:

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 

这是很自我解释。运行时类路径中缺少上述类。将commons-logging.jar添加到/WEB-INF/lib,这个问题应该解决。如果你还没有在其他地方(在IceFaces下载也许?),那么你可以在http://commons.apache.org/logging

+0

非常感谢BalusC!有用! =) – kungcc 2010-11-04 20:00:31