java.lang.NumberFormatException: For input string: \"7001@17001\"

∥☆過路亽.° 提交于 2019-12-01 07:54:58

报错:

java.lang.NumberFormatException: For input string: "7001@17001"

解决:由于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>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!