“只要思想不滑坡,方法总比困难多”
众所周知,如果不是用国内镜像仓库的话,使用国外仓库是需要正确姿势。
本以为idea里setting代理设置完成之后就可以使用了,
才发现这才是坑的第一步。
因为gradle不根据idea走代理(明明maven是可以的!)
我尝试了n多种解决方案:
-
命令行执行
prxoychains ./gradlew --refresh-dependies
,试图使用proxychains代理这个命令
结果发现gradlew不鸟我,prxoychains的tcp全局都接管不了他的流量,我很蒙 -
既然我代理不行,那我就直接在
build.gradle
换仓库,但是网上的什么阿里的仓库之类的,似乎没什么用 -
我又到处找偏方,找到了在
gradle.properties
内加入类似下面的代码(根据我的情况有修改)
#http proxy setup
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
#https proxy setup
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
发现还是不行
最后我经历九九八十一难,我终于解决了这个问题!!!
./gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=10809 --refresh-dependencies
这个解决方案来自:https://*.com/questions/5991194/gradle-proxy-configuration
注意:socks代理方案找了好多没解决,我就使用了http代理的解决方案
顺便提一下 privoxy 转发http代理到socks代理(小提示)
以上内容仅供学习参考