从 3.4.d(社区)升级到 4.0.d(社区)后,Alfresco Explorer 出现错误
Posted
技术标签:
【中文标题】从 3.4.d(社区)升级到 4.0.d(社区)后,Alfresco Explorer 出现错误【英文标题】:Alfresco Explorer giving error after upgrade from 3.4.d (community) to 4.0.d(community) 【发布时间】:2015-05-05 11:16:32 【问题描述】:我从 Alfresco 3.4.d(社区)升级到了 Alfresco 4.0.d(社区)。升级过程没有显示任何错误。
CIFS 访问和所有 API、webscript 等都可以正常工作。共享应用程序也有效。但是当我尝试访问 /alfresco 网络应用程序(资源管理器)时,我得到了错误: java.lang.ClassNotFoundException - 来自 BaseClassLoader 的 org.apache.opencmis.browser.BrowseServlet
我发现这个类存在于 opencmis-test-browser 库的早期版本(3.4.d)中。 4.0.d 版本中不存在此库。
谁能帮我解决这个问题?为什么我会收到此错误?知道如何解决吗?
堆栈跟踪:
2015-03-04 11:40:10,290 INFO [STDOUT] 11:40:10,288 错误 [shared_impl.util.ClassUtils] 类 org.apache.opencmis.browser.BrowseServlet 未找到 java.lang.ClassNotFoundException:来自 BaseClassLoader@7b888da5vfszip:/opt/jboss-eap-5.1/server/default/deploy/alfresco.war/ 的 org.apache.opencmis.browser.BrowseServlet 在 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 错误 [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 from BaseClassLoader@7b888da5vfszip:/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 更多
感谢任何提示。
【问题讨论】:
【参考方案1】:发现问题——类包在4.0.d中发生了变化。 它已从 org.apache.opencmis.browser.BrowseServlet 更改为 org.apache.chemistry.opencmis.browser.BrowseServlet
在 web.xml 中更改此项已解决问题。
【讨论】:
以上是关于从 3.4.d(社区)升级到 4.0.d(社区)后,Alfresco Explorer 出现错误的主要内容,如果未能解决你的问题,请参考以下文章