我的构建脚本中有以下存储库
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代理用于本地存储库,而是用于远程。
任何一个例子都会很棒。
答案 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