【Gradle】代理及证书配置

当公司的网络不能直接访问外网时,配置Gradle代理变得必要。文章详细介绍了如何设置Gradle的HTTP和HTTPS代理,包括Windows域、代理主机和端口、非代理主机等。同时,针对HTTPS的证书错误,文章指导了如何使用keytool导入证书到JDK的信任存储,并提供信任存储路径和密码。此过程可能需要针对每个访问的仓库源导出和导入证书。
摘要由CSDN通过智能技术生成

背景

由于公司的网络无法直接访问外网,在用gradle的时候,必须配置代理

代理配置

gradle的代理配置网上教程较多,这里基本上也是复制网上的基础配置,谨以此作为备案,以便后续查看

# Windows域名
systemProp.http.auth.ntlm.domain=CHINA

# http代理配置
systemProp.http.keepAlive=true
systemProp.http.proxyHost=your proxy host
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=your acount if needed
systemProp.http.proxyPassword=your password if needed
systemProp.http.nonProxyHosts=*.xxxx.com|localhost|127.0.0.1

# https代理配置
systemProp.http.keepAlive=true
systemProp.https.proxyHost=your proxy host
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=your acount if needed
systemProp.https.proxyPassword=your password if needed
systemProp.https.nonProxyHosts=*.xxxx.com|localhost|127.0.0.1

说明:

可以在控制面板>系统>中查看域名, 下图这种情况无需填写systemProp.http.auth.ntlm.domain

在这里插入图片描述

systemProp.http.auth.ntlm.domain

gradle工程中,最好在以下两个文件中,均添加以上配置:

./gradle.properties
./gradle/wrapper/gradle-wrapper.properties

证书导入

由于gradlemaven源经常是https协议的,这样会导致https的证书错误:

sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed

因此需要根据build.gradle中访问的网址将需要的证书逐个导入到jdk中:

keytool -import -alias your_alias_name -keystore $JAVA_HOME/lib/security/cacerts  -file  your_cer_file

证书可以通过使用浏览器访问该网站,然后导出到文件中,编码选择base64编码即可

说明

  1. 证书有时候是多级认证的,因此需要逐个导出,此外,根据工程访问的repo源不同,需要的证书有可能不一样,因此都需要逐个导出,并导入到编译环境中,否则无法访问相关文件
  2. 导入证书需要输入密码, 一般为changeit

最后在gradle.properties(gradle-wrapper.properties)文件中指明cacerts路径:

systemProp.javax.net.ssl.trustStore=/home/paas/jdk-11.0.2/lib/security/cacerts
systemProp.javax.net.ssl.trustStorePassword=changeit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值