Alfresco - 上下文初始化在启动过程中失败

Alfresco - Context Initialization Failed at startup process

我有 Alfresco Community Edition 5.2

我在 catalina.out 文件中收到以下错误,计算机重新启动后

ERROR [web.context.ContextLoader] [localhost-startStop-1] Context initialization failed org.springframework.extensions.webscripts.WebScriptException: 03230000 Web Script Store
workspace://SpacesStore/app:company_home/app:dictionary/cm:extensionwebscripts must exist; multiple entries found.

at org.alfresco.repo.web.scripts.RepoStore.execute(RepoStore.java:237)
at org.alfresco.repo.web.scripts.RepoStore.execute(RepoStore.java:219)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
at org.alfresco.repo.web.scripts.RepoStore.doWork(RepoStore.java:218)
at org.alfresco.repo.web.scripts.RepoStore.doWork(RepoStore.java:215)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555)
at org.alfresco.repo.web.scripts.RepoStore.getBaseNodeRef(RepoStore.java:214)
at org.alfresco.repo.web.scripts.RepoStore.exists(RepoStore.java:289)
at org.springframework.extensions.webscripts.SearchPath.getStores(SearchPath.java:110)
...    

org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.alfresco.web.app.ContextLoaderListener
org.springframework.extensions.webscripts.WebScriptException: 03230000
Web Script Store workspace://SpacesStore/app:company_home/app:dictionary/cm:extensionwebscripts must exist; multiple entries found.
at org.alfresco.repo.web.scripts.RepoStore.execute(RepoStore.java:237)
at org.alfresco.repo.web.scripts.RepoStore.execute(RepoStore.java:219)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
at org.alfresco.repo.web.scripts.RepoStore.doWork(RepoStore.java:218)
at org.alfresco.repo.web.scripts.RepoStore.doWork(RepoStore.java:215)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555)
at org.alfresco.repo.web.scripts.RepoStore.getBaseNodeRef(RepoStore.java:214)
at org.alfresco.repo.web.scripts.RepoStore.exists(RepoStore.java:289)
...

看起来有人删除了Alfresco Repository 中Data Dictionary 结构中的一个特殊文件夹,该文件夹在Web 脚本初始化的启动过程中是硬依赖的。在这种情况下,如果不返回该结构仍然存在的数据库备份,就很难纠正问题。或者,您可以自定义 Web 脚本查找路径的配置,不再依赖于此特定文件夹。

您可以 remove/disable 通过将以下 bean 放入 shared/classes/alfresco/extension/custom-web-context.xml

的 Spring 上下文文件中来查找 Web 脚本扩展文件夹
<bean id="webscripts.searchpath"
   class="org.springframework.extensions.webscripts.SearchPath">
   <property name="searchPath">
      <list>
         <!-- This lookup in this store fails in your case -->
         <!-- <ref bean="webscripts.store.repo.extension" /> -->
         <!-- Comment the next line as well if you get a similar error
              afterwards, indicating you are also missing a second folder -->
         <ref bean="webscripts.store.repo" />
         <ref bean="webscripts.store.client.extension" />
         <ref bean="webscripts.store.client" />
         <ref bean="webscripts.store.alfresco" />
         <ref bean="webscripts.store" />
      </list>
   </property>
</bean>