Fork me on GitHub

spring-boot + storm 依赖的json-simple版本冲突

具体问题重现:

在做storm 整合spring-boot的时候,发现spring-boot的父依赖中引入了json-simple这个jar包,版本为1.1.1,而storm核心包storm-core的依赖的simple-json版本为1.1,这就导致了启动storm时候报ClassNotFound错误。

由于1.1.1的json-simple在spring-boot中是父级的父级引入的,导致pom中使用<exclusion>没有效果:

 

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
    <exclusion>      
         <groupId>com.googlecode.json-simple</groupId>
         <artifactId>json-simple</artifactId>
    </exclusion>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

 

解决方法:

因为在spring-boot在properties中是使用properties指定json-simple的版本的,因此在项目的pom中,通过properties属性指定json-simple版本,覆盖spring-boot依赖的版本

 

  <properties>
  	<simple-json.version>1.1</simple-json.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <!--  依赖版本  -->
    <mybatis.version>3.3.1</mybatis.version>
    <mybatis.spring.version>1.2.4</mybatis.spring.version>
  </properties>


 

posted @ 2017-01-05 16:30  夏天海岸线  阅读(893)  评论(0编辑  收藏  举报