dubbo 常見錯誤 通配符的匹配很全面, 但無法找到元素 'dubbo:application' java.lang.reflect.MalformedParameterizedTypeException 通配符的匹配很全面, 但無法找到元素 'dubbo:application' 的聲明。 Unsupported major.minor version 52.0 (unable to l


dubbo 常見錯誤

 

1. Caused by: java.lang.reflect.MalformedParameterizedTypeException

啟動時報錯,原因是dubbo 依賴 spring 2.5.6.SEC03,而我項目中有用spring 3.2.4.RELEASE,所以導致沖突。 在maven中把dubbo中的spring依賴去除就可以了。

如果你們項目中也報這個錯,很可能也是因為jar包沖突造成的

1
2
3
4
5
6
7
8
9
10
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>dubbo</artifactId>
     <exclusions> 
         <exclusion> 
             <artifactId>spring</artifactId> 
             <groupId>org.springframework</groupId> 
         </exclusion> 
     </exclusions> 
</dependency>

2. Caused by: java.lang.IllegalStateException: Context namespace element 'annotation-config' and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher

at org.springframework.context.config.ContextNamespaceHandler$1.parse(ContextNamespaceHandler.java:65)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
... 22 more

錯誤原因:http://stackoverflow.com/questions/23813369/spring-java-error-namespace-element-annotation-config-on-jdk-1-5-and-high

因為使用了 jdk1.8, 而dubbo 依賴 Spring 2.5 ,而Spring2.5僅僅支持 jdk1.5 到 jdk 1.7, 所以jdk 1.8 不被識別,所以報錯。

3. Caused by: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 46; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但無法找到元素 'dubbo:application' 的聲明。

該錯誤是因為沒有引入 dubbo jar包。加上依賴就行了:

1
2
3
4
5
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>dubbo</artifactId>
     <exclusions> 
</dependency>

4. Unsupported major.minor version 52.0 (unable to load class

出現該錯誤是由於class編譯器的JDK版本高於運行期的JDK版本。

比如我在運行Tomcat servlet時出現該錯誤,是由於tomcat運行時是1.7的JDK,Eclipse編譯時則是1.8 

修改方法:保證編譯器和運行期的JDK版本一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM