Gradle无法通过公司代理连接到maven repo - 需要通过Sencha/Cordova进行配置

sem*_*ous 22 android extjs gradle maven cordova

我正在尝试使用Cordova为Android构建一个Sencha Touch应用程序.但是,在gradle构建开始后,我尝试连接到maven repo时出现连接错误:

[INF] [shellscript] Running: C:\xxx\gradlew cdvBuildDebug -b C:\xxx\application\cordova\platforms\android\build.gradle -Dorg.gradle.daemon=true
[INF] [shellscript]
[INF] [shellscript] FAILURE: Build failed with an exception.
[INF] [shellscript]
[INF] [shellscript] * What went wrong:
[INF] [shellscript] A problem occurred configuring root project '''android'''.
[INF] [shellscript] > Could not resolve all dependencies for configuration ''':classpath'''.
[INF] [shellscript]    > Could not resolve com.android.tools.build:gradle:1.0.0+.
[INF] [shellscript]      Required by:
[INF] [shellscript]          :android:unspecified
[INF] [shellscript]       > Failed to list versions for com.android.tools.build:gradle.
[INF] [shellscript]          > Unable to load Maven meta-data from https://repo1
.maven.org/maven2/com/android/tools/build/gradle/maven-metadata.xml.
[INF] [shellscript]             > Could not GET '''https://repo1.maven.org/maven
2/com/android/tools/build/gradle/maven-metadata.xml'''.
[INF] [shellscript]                > Connection to https://repo1.maven.org refused
Run Code Online (Sandbox Code Playgroud)

我想这与我在办公室必须连接的公司代理有关 - 但我不确定如何配置Gradle通过此代理连接,因为它正由Cordova执行,它本身由Sencha Cmd执行.

有没有办法用Sencha配置代理?

swb*_*haw 48

您需要将Gradlew配置为使用代理服务器.这是通过创建包含以下内容的gradle.properties文件来完成的:

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost  

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
Run Code Online (Sandbox Code Playgroud)

这是从用户指南的第19.3章中获取的示例.确保在文件中包含HTTP和HTTPS值.

您将此gradle.properties文件放在以下任一位置:

  1. 在您的移动项目的"cordova/platform/android"文件夹中

要么

  1. 在Gradle主文件夹中.对于Windows,这可能是%USERPROFILE%\.gradle \(例如:C:\ Users\username\.gradle \).

我建议把它放在Gradle home中,这样其他项目就可以把它拿起来,而你不必担心将它置于源代码控制之下.

您还可以在此帖子中找到更多信息.