我需要通过代理服务器从Gradle进行Web访问,以使用Jenkins的Gradle/Artifactory集成.为了减少问题的可能原因,我在build.gradle中手动添加Artifactory插件并从命令行运行它:
apply {
apply from: "http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle"
}
Run Code Online (Sandbox Code Playgroud)
按照此描述,我在主目录中的.gradle/gradle.properties中指定了以下内容:
systemProp.http.proxyHost=hostname
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=de\\username
systemProp.http.proxyPassword=xxx
Run Code Online (Sandbox Code Playgroud)
使用上面的代理配置(已知可以工作),它会失败:
11:33:17.699 [ERROR] [org.gradle.BuildExceptionReporter]引起:java.io.IOException:服务器返回HTTP响应代码:407为URL:http://gradle.artifactoryonline.com/gradle/plugins/org/ jfrog/buildinfo/buildinfo-提取-gradle这个/ 1.0.1/artifactoryplugin-1.0.1.gradle
我有两个代理服务器可供选择,一个总是响应407(需要代理身份验证),另一个响应502(坏网关),所以很明显,使用了proxyHost和proxyPort选项.
作为用户名(基于Active Directory用户)包含反斜杠,我都尝试\\和\,但既不工作.指定的用户与登录到计算机和Active Directory的用户不同.此用户的凭据对代理无效,因此我需要能够指定其他用户.
在Jenkins或Artifactory的GUI中设置相同的选项.
我想分享我通过代理使用maven的经验.
您很可能会遇到异常和消息,例如:
repository metadata for: 'org.apache.maven.plugins' could not be retrieved from repository: central due to an error: Error transferring file: Connection refused: connect
要么
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean- plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
如何配置Maven使用代理服务器?
我似乎无法获得最新gradle的构建工具.我怀疑它与gradle的代理设置有关.我在网上看了很多,但似乎无法找到解决方案.我用gradle 2.1.
我使用这些设置在/home/user/.gradle文件夹中创建了gradle.properties文件.
systemProp.http.proxyHost = proxy systemProp.http.proxyPort = 80 systemProp.http.proxyUser = myusername systemProp.http.proxyPassword = password
systemProp.https.proxyHost = proxy systemProp.https.proxyPort = 80 systemProp.https.proxyUser = myusername systemProp.https.proxyPassword = password
这是我的全局build.gradle
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.0'
classpath fileTree(dir: 'build-libs', include: '*.jar')
}
}
allprojects {
repositories {
mavenCentral()
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在运行grawlew时遇到的错误无法解决 ' https://repo1.maven.org/maven2/com/android/tools/build/gradle/0.13.0/gradle-0.13.0.pom '. peer未经过身份验证
我错过了什么?maven链接在浏览器中打开正常.