Gradle构建Java应用出现java.security.InvalidAlgorithmParameterException异常怎么办?
问题描述
使用Gradle构建Java应用时遇到依赖解析失败的错误,具体报错信息如下:
* 出错原因:无法解析':compileClasspath'配置的所有依赖。 > 无法解析org.slf4j:slf4j-api:1.7.21。项目: 需要该依赖 > 无法解析org.slf4j:slf4j-api:1.7.21。 > 无法获取资源'https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.pom'。 > 无法GET 'https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.pom'。 > java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty * 建议操作:使用--stacktrace选项获取堆栈跟踪,使用--info或--debug选项获取更多日志输出。 BUILD FAILED 总耗时: 5.746 秒
解决方法
我之前赶工的时候碰到过一模一样的问题,折腾了好半天,终于找到临时但有效的解决办法,分享给大家:
- 下载Oracle JDK 8,用它自带的
cacerts文件覆盖本地的对应文件 - 目前还不确定这个方法是否只适用于Oracle JDK 8,OpenJDK是否可行还没验证,但核心问题确实是
cacerts文件异常 - JDK自带的
cacerts文件示例路径:~/Downloads/jdk1.8.0_171/jre/lib/security/cacerts - 本地需要替换的
cacerts文件路径:/etc/ssl/certs/java/cacerts
这个方案虽然是临时措施,但确实能快速解决问题,帮你顺利完成构建。
内容的提问来源于stack exchange,提问作者Ryan Warren
相关产品推荐
相关产品推荐

