Gradle构建脚本无法通过HTTP代理下载Nexus工件 - 收到HTTP 503错误

时间:2014-07-07 19:47:05

标签: maven gradle nexus

我的构建脚本中有以下存储库

repositories {
    mavenRepo url: "http://ip:port/artifactory/plugins-release",
           artifactUrls: ["file://${System.properties['user.home']}/.m2/repository/"]
    mavenRepo url: "http://repo.maven.apache.org/maven2"
    mavenRepo url: "http://mvnCompanyPortal/nexus/content/repositories/releases"
    mavenCentral()
}

实际上是通过HTTP代理下载这些依赖项。如果我跑:

gradle build proxyHost port

我得到了:

HTTP 503 error when downloading dependency from that repository.

如果我删除代理,它可以正常工作,但其他存储库中的工件无法下载。

如何告诉Gradle不要将Http代理用于本地存储库,而是用于远程。

任何一个例子都会很棒。

1 个答案:

答案 0 :(得分:0)

您必须设置非代理主机。

$ gradle <task> -Dhttp.proxyHost=<proxy host> -Dhttp.proxyPort=<proxy port> -Dhttp.nonProxyHosts=*.nonproxyrepos.com|localhost

在上面的示例中* .nonproxyrepos.com表示nonproxyrepos.com的所有子域都将从代理中排除localhost。

这些配置也可以保存在~/.gradle/gradle.properties中,因此每次检查20.2时都不需要输入代理设置。通过Chapter 20. The Build Environment

中的代理部分访问网络