首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle无法在代理后编译

Gradle无法在代理后编译
EN

Stack Overflow用户
提问于 2014-08-19 01:15:46
回答 2查看 2.4K关注 0票数 1

我正在尝试在代理后面编译一个Android项目。我的大多数依赖项编译得很好,但是当我将Robolectric添加到我的build.gradle类路径中时,我总是得到错误。所以我的第一个代理配置是在Preferences -> HTTP Proxy中完成的。当我尝试使用这些设置进行编译时,我得到了一个407响应:

代码语言:javascript
复制
Error:Could not HEAD 'http://repo1.maven.org/maven2/org/robolectric/robolectric-gradle-plugin/0.12.0/robolectric-gradle-plugin-0.12.0.jar'. Received status code 407 from server: AuthorizedOnly

这没有什么意义,因为我在HTTP Proxy设置中提供了我的凭据。此外,我在HTTP Proxy页面上尝试了测试url函数,它显示连接成功。

因此,我尝试在gradle.properties文件中添加设置。这就给出了下面的500错误:

代码语言:javascript
复制
Error:Could not HEAD 'http://repo1.maven.org/maven2/org/robolectric/robolectric-gradle-plugin/0.12.0/robolectric-gradle-plugin-0.12.0.jar'. Received status code 500 from server: ruleengineerror

有没有我忘记的设置?为什么我在mavenCentral中的其他依赖项可以编译?我刚刚导入了这个产品,所以我没有从缓存开始,如果我去掉了Robolectric,它编译得很好。

任何帮助都将不胜感激。如果这太本地化了,我提前道歉。

EN

回答 2

Stack Overflow用户

发布于 2014-10-03 05:15:10

对于任何在这方面有问题的人,我终于找到了一个解决方案,让我可以顺利地在代理后面下载我的所有依赖项。

我试图在一个NTLM代理后面工作,对我来说,这个代理与Gradle合作得并不好。为了解决这个问题,我下载了SquidMan并对其进行了设置。就像其他一些人在其他帖子中建议的那样,我正在设置一个中间代理来转发我的请求,并将我的凭证输入到主代理。

设置:

在SquidMan中,

  1. 转到首选项->常规。在此处输入中介代理的代理配置。我选择127.0.0.1作为主机名和9090端口。
  2. 转到parent并输入您的公司/主要代理信息。
  3. 启动SquidMan
  4. 在全局Gradle
  5. 中打开gradle.properties文件

systemProp.https.proxyPort=9090的systemProp.http.proxyHost=127.0.0.1 systemProp.http.proxyPort=9090 systemProp.https.proxyHost=127.0.0.1

Gradle现在应该能够顺利地下载代理背后的依赖项了。

希望这对某些人有帮助!

票数 1
EN

Stack Overflow用户

发布于 2014-08-19 01:52:04

Robolectric利用Maven配置进行依赖解析(非常奇怪)。看看我为寻找答案而写的这篇博文。

Robolectric and Gradle behind Proxies and Firewalls

为了进一步说明这一点,您需要使用代理信息配置.m2/settings.xml。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25368643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档