我已经配置了gradle build来使用我们公司的nexus repo,但maven似乎无法正确授权 - 我不断获得错误,例如
Failed to get resource: HEAD. [HTTP HTTP/1.1 401 Authorization Required: https://maven.gooddata.com/nexus/content/repositories/gooddata/org/codehaus/groovy/groovy-all/2.0.4/groovy-all-2.0.4.pom]
奇怪的是,部署到相同的nexus repo(通过mavenDeployer)可以无缝地工作。
以下是与maven repo配置相关的构建脚本的一部分(maven_user和maven_password在〜/ .gradle / gradle.properties中定义)。
apply plugin: 'maven'
ext {
repos = [
my : "<my_repo_url>",
my_snapshot : "<my_snapshots_repo_url>"
]
}
repositories {
mavenLocal()
maven {
url repos.my
credentials {
username = maven_user
password = maven_password
}
}
maven {
url repos.my_snapshot
credentials {
userName = maven_user
password = maven_password
}
}
mavenCentral()
maven { url "http://repository.codehaus.org/" }
maven { url "http://sardine.googlecode.com/svn/maven" }
maven { url "http://snapshots.repository.codehaus.org" }
}
uploadArchives {
repositories.mavenDeployer {
repository(url : repos.my) {
authentication(userName : maven_user, password : maven_password)
}
snapshotRepository(url : repos.my_snapshot) {
authentication(userName : maven_user, password : maven_password)
}
}
}
有什么建议吗?
答案 0 :(得分:16)
您的用户名属性被错误地大写,您应该使用用户名和密码设置省略'='符号。将存储库定义更改为以下内容可以解决您的问题:
maven {
url repos.my
credentials {
username maven_user
password maven_password
}
}
答案 1 :(得分:0)
线程现在有点旧了,但是只是想突出显示我在执行上述操作时遇到的一个问题..我的管理员创建了一个带有单引号和双引号的密码,导致出现类似的401