Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Alfresco从3.4.d迁移到4.2.e(和5.0.a)后无法加载spring上下文_Java_Spring_Tomcat_Cxf_Alfresco - Fatal编程技术网

Java Alfresco从3.4.d迁移到4.2.e(和5.0.a)后无法加载spring上下文

Java Alfresco从3.4.d迁移到4.2.e(和5.0.a)后无法加载spring上下文,java,spring,tomcat,cxf,alfresco,Java,Spring,Tomcat,Cxf,Alfresco,三天以来,我一直在运行以下程序,调试/谷歌搜索似乎没有什么帮助 这是我的背景: 我有一个遗留应用程序-一个使用war覆盖的Alfresco 3.4.d扩展- 扩展it本身并没有什么特别之处——许多特定的管理者和服务都是通过spring上下文开发的,并且功能齐全 我所做的只是将Alfresco版本从3.4.d升级到4.2.e,以下是我所做的: 在磁盘上某处安装了Alfresco-4.2.e社区分发 在Eclipse上,创建了一个以CATALINA_为基础的Tomcat服务器 分发TOMCAT 我遵

三天以来,我一直在运行以下程序,调试/谷歌搜索似乎没有什么帮助

这是我的背景:

我有一个遗留应用程序-一个使用war覆盖的Alfresco 3.4.d扩展- 扩展it本身并没有什么特别之处——许多特定的管理者和服务都是通过spring上下文开发的,并且功能齐全

我所做的只是将Alfresco版本从3.4.d升级到4.2.e,以下是我所做的:

  • 在磁盘上某处安装了Alfresco-4.2.e社区分发
  • 在Eclipse上,创建了一个以CATALINA_为基础的Tomcat服务器 分发TOMCAT
  • 我遵循文档,以便能够部署扩展 而不是原来的露天战争(实际上从 $ALF/tomcat/webapps
  • 我正在使用MySQL,从这方面来看,一切都很好
  • 我的问题

    在应用程序启动时,会出现以下异常:

    我知道它与CXF有关,但我不知道如何使用它 处理它

    评论/讨论后添加的额外内容

    smsManagerService代码:

    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.ws.WebEndpoint;
    import javax.xml.ws.WebServiceClient;
    import javax.xml.ws.WebServiceFeature;
    import javax.xml.ws.Service;
    
    /**
     * This class was generated by Apache CXF 2.7.6
     * 2013-09-20T12:05:27.093+02:00
     * Generated source version: 2.7.6
     * 
     */
    @WebServiceClient(name = "managerService", 
                  wsdlLocation = "CustomSoapi-dlw-1.61.wsdl",
                  targetNamespace = "http://soapi.XXX.com/manager") 
    public class ManagerService extends Service {
    
    public final static URL WSDL_LOCATION;
    
    public final static QName SERVICE = new QName("http://soapi.XXX.com/manager", "managerService");
    public final static QName ManagerPort = new QName("http://soapi.XXX.com/manager", "managerPort");
    static {
        URL url = ManagerService.class.getResource("CustomSoapi-dlw-1.61.wsdl");
        if (url == null) {
            url = ManagerService.class.getClassLoader().getResource("CustomSoapi-dlw-1.61.wsdl");
        } 
        if (url == null) {
            java.util.logging.Logger.getLogger(ManagerService.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "CustomSoapi-dlw-1.61.wsdl");
        }       
        WSDL_LOCATION = url;
    }
    

    迁移至Alfresco 5.0.a(2014年9月16日)


    我最近回到这个问题上是为了解决它(我希望如此),但似乎它仍然很难完成

    以下是我所做的事情和背景:

  • 我有一个基于版本3.4.d和MySQL 5.5(在生产环境中运行)的Alfresco扩展(使用maven overlays)

  • 我安装了Alfresco-5.0.a(在Debian 64位Wheezzy JDK7上)并运行了它:它成功了

  • 我从$ALF/tomcat/webapps中删除了原来的alfresco.war(以及分解后的war),并从扩展项目(Java7,Maven 3.2.1)中替换为一个构建的alfresco.war,当然,我更新了alfresco依赖项以满足5.0.a版本的要求

  • 我保持了Postgres数据库的原样

  • 启动了alfresco
    /alfresco.sh start

  • 出现此错误,尤其是这部分错误:

    数据字典中未定义{}copiedfrom

  • 完全错误

    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'copyService' defined in class path resource [alfresco/copy-services-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Association {http://www.alfresco.org/model/content/1.0}original of class {http://www.alfresco.org/model/content/1.0}copiedfrom has not been defined in the data dictionary
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
    ... 126 more
    Caused by: java.lang.IllegalArgumentException: Association {http://www.alfresco.org/model/content/1.0}original of class **{http://www.alfresco.org/model/content/1.0}copiedfrom has not been defined in the data dictionary**
    at org.alfresco.repo.policy.PolicyComponentImpl.bindAssociationBehaviour(PolicyComponentImpl.java:365)
    at org.alfresco.repo.copy.CopyServiceImpl.init(CopyServiceImpl.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
    ... 133 more
    

    验证spring的版本,它已更改。

    根据较新的Alfresco类和JDK1.7重新编译所有Java源代码。我不知道确切的版本,但在NodeService(我想)等地方有一些关键的方法签名已更改。

    您可以发布
    smsManagerService
    的bean定义吗?我刚刚在问题正文附加部分中添加了代码。ThanksAlfresco使用了一个补丁+旧版本的CXF,即2.2.2 AFAICT,而您的代码是由更新版本的CXF生成的。如果您尝试用旧版本的C重新创建类,会发生什么XF Alfresco发货?(顺便说一句,我看不到许可证允许的CXF jar中Alfresco补丁的详细信息,但IIRC违反了正常的Alfresco内部政策…)我的同事最近从3.x升级到4.2f。我记得他提到需要先升级到4.0,然后再升级到4.2f。简单的谷歌搜索说其他事情都需要这样做,但我很好奇你对此怎么说?我会尝试一下并反馈。谢谢你是说mvn clean安装在我的项目上吗?我已经做了还是你说了什么else?例如,在我尝试捕获异常时,我注意到一些假定的内部方法不再存在(试图在包中找到它们,但没有成功).ThanksHi,我回来是想了解一些关于我的问题的线索。现在我正在迁移到Alfresco 5.0.c,似乎还有其他问题。我在问题主体中添加了日志。谢谢,最后,在Charles Le Seach的帮助下,我完成了,但解决了我的问题,现在我正在努力让WebDAV服务器通过WebDriv接受我的文档你的意思是更新Alfresco使用的spring版本吗?谢谢
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'copyService' defined in class path resource [alfresco/copy-services-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Association {http://www.alfresco.org/model/content/1.0}original of class {http://www.alfresco.org/model/content/1.0}copiedfrom has not been defined in the data dictionary
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
    ... 126 more
    Caused by: java.lang.IllegalArgumentException: Association {http://www.alfresco.org/model/content/1.0}original of class **{http://www.alfresco.org/model/content/1.0}copiedfrom has not been defined in the data dictionary**
    at org.alfresco.repo.policy.PolicyComponentImpl.bindAssociationBehaviour(PolicyComponentImpl.java:365)
    at org.alfresco.repo.copy.CopyServiceImpl.init(CopyServiceImpl.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
    ... 133 more