170525解决maven隐式依赖包版本问题

Posted 目标奔雷手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了170525解决maven隐式依赖包版本问题相关的知识,希望对你有一定的参考价值。

今天在使用dubbo2.5.3版本的时候,启动项目的时候发现一个问题,tomcat启动一直报错

Caused by: java.lang.IllegalStateException: Context namespace element \'component-scan\' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher仔细看来,我用的jdk1.8 ,编译也是jdk1.8,仔细想想有可能式是jar包冲突,仔细排查是dubbo默认引用的spring版本太低了导致的,如图

 

  解决方案:

通过

maven的 <exclusions>标签解决类包依赖冲突

 

<dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.5.3</version>
                <exclusions> 
                    <exclusion> 
                        <groupId>org.springframework</groupId> 
                        <artifactId>spring</artifactId> 
                    </exclusion> 
                </exclusions>
            </dependency>

 

 

这样就去掉了隐式引用

 

 再编译启动正常了

PS:网上我看有很多博文,是降低jdk或者升级spring版本,我没有试验,不知道可不可行

 

以上是关于170525解决maven隐式依赖包版本问题的主要内容,如果未能解决你的问题,请参考以下文章

maven 依赖排除 是排除低版本的还是高版本

Maven的Pom文件中的隐式依赖导致Jar包冲突的问题

Idea解决Maven项目中依赖包下载好之后代码标红问题

Maven依赖jar包版本冲突解决方案

spring maven项目解决依赖jar包版本冲突方案

maven 多个jar包版本依赖问题