maven 到底该怎么设置代理?

258 天前
 honmaple

在使用 flutter run -v 时经常遇到

'/Users/XXX/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.17/android/build.gradle'.
[        ] Downloading
https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.4.1/kotlinx-coroutines-core-jvm-1.4.1.jar to
/Users/XXX/.gradle/.tmp/gradle_download7829943129109247924bin

真的好烦,每次遇到都是手动修改 build.gradle 文件,添加

maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }

终端也是设置了代理,不管是 wget https://repo.maven.apache.org/xxx 还是 curl https://repo.maven.apache.org/xxx 都能正常执行,但使用 flutter run 就是不能正常下载

按照它的提示将文件手动下载到 /Users/XXX/.gradle/.tmp/gradle_download7829943129109247924bin 还是不行

按照网上说的,复制一份 settings.xml$HOME/.m2/,不管是添加代理

  <proxies>
    <proxy>
      <id>http-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>127.0.0.1</host>
      <port>1086</port>
    </proxy>
    <proxy>
      <id>https-proxy</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>127.0.0.1</host>
      <port>1086</port>
    </proxy>
<proxies>

还是添加镜像

    <mirror>
      <id>nexus-tencentyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus tencentyun</name>
      <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
    </mirror>

还是不行

搞得现在想自己搭一个镜像站,然后改 DNS 了,有大佬能帮忙看一下吗

754 次点击
所在节点    问与答
4 条回复
saka0609
258 天前
我不太懂 flutter 的构建过程,我建议你可以看下 flutter run 的时候会不会取 http_proxy/https_proxy 这个环境变量.同时建议排查下 settings.xml 究竟有没有被 flutter run 正确使用,很有可能就没走你的配置文件。
最后,搭镜像站是正确的,可以加速你的构建,我现在就是这么做的。
lostberryzz
258 天前
如果只是本地开发设置的话,建议开代理的增强模式
Ayanokouji
258 天前
这不是 maven 的问题吧,应该是 gradle 的问题,可以参考这个方式尝试一下
https://gist.github.com/bennyhuo/af7c43cc4831661193605e124f539942
ysc3839
258 天前
根据“gradle_download”这个关键字搜了下 gradle 的代码,从 DownloadAction.java 一直找到 HttpClientHelper.java ,发现最终调用的是 org.apache.http.impl.client.HttpClientBuilder ,搜索了一下,似乎 Apache 这个 http 库默认就不会使用系统代理,需要主动调用 .useSystemProperties() 才会使用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1031280

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX