标签:pid gem jre redis集群 xml文件 排除 tree manage 版本
报错:
解决:由于redis集群的采用的版本是4.1的,在maven的pom.xml中将jedis的版本改成2.9的就可以了,
如果报错依旧,此处有一个大坑。
在buildpath中显示版本jredis2.9,实际上调用仍为旧版本。
具体可通过在cmd pom.xml文件路径下执行 mvn dependency:tree 可以查看包依赖结构。
能够发现实际调用jedis版本仍为旧版本,且此包依赖于commons-pool2包,pool2包版本较低。
在maven调用中,有四个原则:
1.第一声明优先原则:即在配置文件中先写的生效.
2.路径就近原则:即直接依赖优先传递依赖.
3.排除原则:传递依赖出现问题时,可以如下所写,排除依赖
<exclusions>
<exclusion>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
</exclusion>
</exclusions>
4.版本锁定原则:通过dependencyManagement标签
转载于:https://my.oschina.net/u/2462104/blog/1815870
根据第二个原则仍是调用了旧版本pool2所要求的jedis版本。
可直接声明与jredis匹配的新版本commons-pool2来解决这个问题。
具体搭配版本可在mvn官网包下的依赖查看
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>${commons-pool2.version}</version>
</dependency>
标签:pid gem jre redis集群 xml文件 排除 tree manage 版本
原文地址:https://www.cnblogs.com/fightingforhh/p/11670980.html