Maven引入jedis与webdrivermanager依赖报错如何解决
Maven pom.xml 依赖持续报错解决方案
问题描述
项目pom.xml中配置的以下2个依赖持续抛出报错:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.8.0</version> </dependency> <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>3.8.1</version> </dependency>
已尝试的排查操作均未解决问题:
- 更换依赖版本
- 为上述依赖添加额外配置
- 执行
mvn clean install命令
当前使用环境版本: - Maven 3.6.3
- Java 16.0.1
排查解决步骤
清理本地Maven仓库损坏缓存
更换版本、执行clean命令无效时,大概率是本地仓库中对应依赖的目录存在下载失败的残留标记文件(.lastUpdated)或损坏的jar包,手动删除本地仓库下对应路径的所有文件:- jedis 3.8.0对应路径:
${本地仓库根目录}/redis/clients/jedis/3.8.0 - webdrivermanager 3.8.1对应路径:
${本地仓库根目录}/io/github/bonigarcia/webdrivermanager/3.8.1
删除完成后执行mvn dependency:resolve命令重新拉取依赖,不要直接执行install命令。
- jedis 3.8.0对应路径:
修复Java 16版本兼容性问题
Java 16对JDK内部API做了强封装,上述两个依赖的指定版本发布时间早于Java 16正式发布时间,未做高版本JDK适配,运行会出现字节码版本不匹配、反射访问报错的问题:- 将jedis版本升级到
4.2.3及以上,该版本分支开始正式支持Java 16+运行环境 - 将webdrivermanager版本升级到
5.0.3及以上,修复高版本JDK下的兼容性问题
- 将jedis版本升级到
检查Maven镜像源配置
如果清理缓存后重新拉取仍然报错,打开Maven配置文件settings.xml检查镜像配置,若使用了同步不及时的公共镜像、受限的公司内网镜像,会出现依赖拉取失败的问题,临时切换到可用的公共镜像源后重试即可,注意不要配置多个镜像产生规则冲突。同步IDE依赖索引
如果命令行执行mvn compile无报错,仅IDE内显示依赖报错,打开IDE的Maven面板执行「Reload All Maven Projects」操作,必要时清理IDE缓存后重启即可解决。
内容的提问来源于stack exchange,提问作者Aravind M.
相关产品推荐
相关产品推荐

