从 3.4.d(社区)升级到 4.0.d(社区)后,Alfresco Explorer 出现错误

Alfresco Explorer giving error after upgrade from 3.4.d (community) to 4.0.d(community)

我从 Alfresco 3.4.d(社区)升级到 Alfresco 4.0.d(社区)。升级过程没有显示任何错误。

CIFS 访问和所有 API、网络脚本等工作正常。共享应用程序也有效。但是,当我尝试访问 /alfresco 网络应用程序 (Explorer) 时,出现错误: java.lang.ClassNotFoundException - org.apache.opencmis.browser.BrowseServlet 来自 BaseClassLoader

我发现这个 class 存在于 opencmis-test-browser 库中的先前版本 (3.4.d) 中。该库在 4.0.d 版本中不存在。

有人可以帮我吗?为什么会出现此错误?知道如何解决吗?

堆栈跟踪:

2015-03-04 11:40:10,290 INFO [STDOUT] 11:40:10,288 ERROR [shared_impl.util.ClassUtils] Class org.apache.opencmis.browser.BrowseServlet 未找到
java.lang.ClassNotFoundException: org.apache.opencmis.browser.BrowseServlet 来自 BaseClassLoader@7b888da5{vfszip:/opt/jboss-eap-5.1/server/default/deploy/alfresco.war/}
        在 org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        在 java.lang.Class.forName0(本机方法)
        在 java.lang.Class.forName(Class.java:247)
        在 org.apache.myfaces.shared_impl.util.ClassUtils.classForName(ClassUtils.java:139)
        在 org.apache.myfaces.shared_impl.util.ClassUtils.simpleClassForName(ClassUtils.java:158)
        在 org.apache.myfaces.shared_impl.webapp.webxml.WebXml.getFacesServletMappings(WebXml.java:129)
        在 org.apache.myfaces.application.jsp.JspViewHandlerImpl.getServletMapping(JspViewHandlerImpl.java:381)
        在 org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:222)
        在 org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        在 org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:146)
        在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:147)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
        在 sun.reflect.GeneratedMethodAccessor790.invoke(来源不明)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        在 java.lang.reflect.Method.invoke(Method.java:597)
        在 org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:103)
        在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        在 $Proxy458.doFilter(未知来源)
        在 org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter.doFilter(BaseSSOAuthenticationFilter.java:136)
        在 sun.reflect.GeneratedMethodAccessor790.invoke(来源不明)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        在 java.lang.reflect.Method.invoke(Method.java:597)
        在 org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:103)
        在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        在 $Proxy458.doFilter(未知来源)
        在 org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
        在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
        在 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
        在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        在 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
        在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
        在 java.lang.Thread.run(Thread.java:662)
2015-03-04 11:40:10,293 INFO [STDOUT] 11:40:10,292 ERROR [faces.webapp._ErrorPageWriter] 发生异常
javax.faces.FacesException
        在 org.apache.myfaces.shared_impl.util.ClassUtils.simpleClassForName(ClassUtils.java:163)
        在 org.apache.myfaces.shared_impl.webapp.webxml.WebXml.getFacesServletMappings(WebXml.java:129)
        在 org.apache.myfaces.application.jsp.JspViewHandlerImpl.getServletMapping(JspViewHandlerImpl.java:381)
        在 org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:222)
        在 org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        在 org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:146)
        在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:147)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
        在 sun.reflect.GeneratedMethodAccessor790.invoke(来源不明)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        在 java.lang.reflect.Method.invoke(Method.java:597)
        在 org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:103)
        在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        在 $Proxy458.doFilter(未知来源)
        在 org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter.doFilter(BaseSSOAuthenticationFilter.java:136)
        在 sun.reflect.GeneratedMethodAccessor790.invoke(来源不明)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        在 java.lang.reflect.Method.invoke(Method.java:597)
        在 org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:103)
        在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        在 $Proxy458.doFilter(未知来源)
        在 org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
        在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
        在 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
        在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        在 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
        在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
        在 java.lang.Thread.run(Thread.java:662)
由以下原因引起:java.lang.ClassNotFoundException:org.apache.opencmis.browser.BrowseServlet 来自 BaseClassLoader@7b888da5{vfszip:/opt/jboss-eap-5.1/server/default/deploy/alfresco.war/}
        在 org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        在 java.lang.Class.forName0(本机方法)
        在 java.lang.Class.forName(Class.java:247)
        在 org.apache.myfaces.shared_impl.util.ClassUtils.classForName(ClassUtils.java:139)
        在 org.apache.myfaces.shared_impl.util.ClassUtils.simpleClassForName(ClassUtils.java:158)
        ... 51 更多

感谢任何提示。

发现问题 - class 包在 4.0.d 中发生了变化。 它已从 org.apache.opencmis.browser.BrowseServlet 更改为 org.apache.chemistry.opencmis.browser.BrowseServlet

在 web.xml 中更改此项已解决问题。