【已解决】解决Gradle在使用代理的情况下访问中央仓库返回403 Forbidden的问题
问题
IDEA导入项目,刷新Gradle的时候,报错,但是浏览器可以访问https://repo.maven.apache.org。
Could not resolve org.projectlombok:lombok:1.18.12.
Caused by: org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not HEAD 'https://repo.maven.apache.org/maven2/org/projectlombok/lombok/1.18.12/lombok-1.18.12.pom'. Received status code 403 from server: Forbidden
分析
那浏览器可以用代理访问,为什么Gradle就不行呢?所以不是代理的问题。
Gradle 肯定没有问题,如果去掉 gradle.properties中的如下配置,他就可以下载了,但是特别慢。
最终问题是要解决使用代理的情况下,让Gradle能够访问https的仓库,包括但不限于 maven中央仓库,bintray等等仓库。
systemProp.https.proxyUser=
systemProp.https.proxyPassword=
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=1080
systemProp.https.nonProxyHosts=localhost|maven.aliyun.com
systemProp.http.proxyUser=
systemProp.http.proxyPassword=
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=1080
systemProp.http.nonProxyHosts=localhost|maven.aliyun.com
解决
在Google搜索一番之后发现,是JAVA应该导入证书。
最终解决问题的方法是:
将Gradle的配置文件修改为socks代理:
systemProp.socks.proxyHost=127.0.0.1
systemProp.socks.proxyPort=1080
systemProp.socks.nonProxyHosts=localhost|maven.aliyun.com
并在init.gradle中添加全局镜像服务器:
allprojects {
repositories {
maven {
url "http://maven.aliyun.com/nexus/content/groups/public"
}
}
}
链接(不能解决问题)
这里找到两篇英文的文章,对JAVA证书做了一个阐述。
How to add or list certificates from keystore or trustStore in Java - Keytool Example
How SSL, HTTPS and Certificates Works in Java web Applications
此外还有一篇中文文章讲了怎么导入证书到JAVA的 cacerts.
JDK信任证书
可以说一直开发HTTP的接口,很少涉及HTTPS的知识。
可以按照上述中文的文章的说明,访问https://repo.maven.apache.org/maven2,并在浏览器上导出HTTPS证书,存到桌面等位置,并用JAVA_HOME下的bin/keytool导入此证书。
注意Maven的仓库有两个
其他网站以此类推
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!