搭建Maven项目报安全错误java.security.InvalidAlgorithmParameterException如何解决
问题根因
你遇到的报错核心是当前使用的JDK内置CA信任证书库为空或损坏,导致Maven发起HTTPS请求拉取中央仓库资源时SSL校验失败,无法下载依赖插件。
排查与解决步骤
- 先确认当前使用的JDK版本:旧版OpenJDK 8(部分8u151之前的发行版)存在默认自带空cacerts信任库的已知问题,是该报错的高发原因。
- 方案1:替换JDK信任库
进入当前使用JDK的jre/lib/security目录,备份原有cacerts文件,替换为同版本正常JDK的cacerts文件即可,正常cacerts的默认访问密码为changeit。 - 方案2:临时跳过SSL校验(仅推荐本地测试使用,生产环境禁用)
执行mvn命令时附加SSL忽略参数:
如需永久生效,可将上述参数添加到系统的mvn install -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=trueMAVEN_OPTS环境变量中。 - 方案3:更换Maven为HTTP国内镜像源
打开Maven安装目录下conf/settings.xml,在<mirrors>节点下添加如下配置,使用HTTP协议的国内镜像规避HTTPS校验要求:<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> - 方案4:升级JDK版本
升级到OpenJDK 8u292+、JDK 11等稳定版本,这类版本自带的CA信任库均为正常状态,可直接解决该问题。
内容的提问来源于stack exchange,提问作者thisisdude
相关产品推荐
相关产品推荐

