dubbo 初始化两次的错误 Duplicate application configs

这是错误提示:Duplicate application configs: and

最近在eclipse上搭建dubbo+spring+mybatis。provider启动是这样的。用注释段启动没问题,非注释段启动就报这个错了。

public class DemoProviderTest {


//    public static void main(String[] args) throws Exception {
//        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
//                new String[] {"META-INF/spring/serviceApplicationContext.xml"});
//        context.start();
//        
//        System.out.println("Hello!");
//        
//        System.in.read(); // press any key to exit
//        context.close();
//    }
public static void main(String[] args) throws Exception {
com.alibaba.dubbo.container.Main.main(args);
}
}


在日志里有这么一段,相当于加载了两次。

Pre-instantiating singletons in @16eabae: defining beans [com.alibaba.dubbo.config.spring.AnnotationBean,demo-provider,com.alibaba.dubbo.config.ConsumerConfig,com.alibaba.dubbo.config.RegistryConfig,dubbo,org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,com.alibaba.dubbo.config.spring.AnnotationBean2,demo-provider2,com.alibaba.dubbo.config.ConsumerConfig2,com.alibaba.dubbo.config.RegistryConfig2,dubbo2,org.springframework.context.support.PropertySourcesPlaceholderConfigurer#1,dataSource_mysql,sqlSessionFactory,org.mybatis.spring.mapper.


我的pom文件build段是这样的。再次说明,是用dubbo的main方法启动才出现的这个错误。



 
 
 

${project.build.directory}/classes  
src/main/resources  
true  
 
**/*.xml 
**/*.properties  
 
 
  
 
            ${project.build.directory}/classes/META-INF/spring  
            src/main/resources  
            true  
             
                serviceApplicationContext.xml  
           
 
       
 
     
 

 
 
 
 
 
org.eclipse.m2e  
lifecycle-mapping  
1.0.0  
 
 
 
 
 
org.apache.maven.plugins  
maven-dependency-plugin  
[2.0,)  
 
copy-dependencies  
 
 
 
 
 
 
 
 
 
 
 
 




org.apache.maven.plugins  
maven-dependency-plugin  
 
 
copy-dependencies  
package  
 
copy-dependencies  
 
 
jar  
jar  
false  
 
${project.build.directory}/lib  
 
 
 
 


 
 
org.apache.maven.plugins  
maven-jar-plugin  
 


com.alibaba.dubbo.container.Main  
false  
true
lib/  


 
.  

 
 
 


org.apache.maven.plugins
maven-compiler-plugin
3.1

1.8
1.8
UTF-8  



    
         
 


原因:dubbo相关的xml资源被 了两次,在这里。

 

${project.build.directory}/classes  
src/main/resources  
true  
 
**/*.xml 
**/*.properties  
 


然后在serviceApplicationContext.xml是这样的,注意加粗部分。


       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd 
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-4.2.xsd">
    
      
      
   


   


 


当dubbo的main方法执行时,会去读取jar包中的配置文件,dubbo.xml和serviceApplicationContext.xml分别读取了一遍。



我这里是将serviceApplicationContext.xml里的这段删除,问题解决。

你可能感兴趣的:(dubbo 初始化两次的错误 Duplicate application configs)