2012-12-19 78 views
6

我已經配置gradle這個構建中使用我們公司的Nexus回購,但行家似乎並不能夠授權正確 - 我不斷收到錯誤回報如搖籃未能獲得Nexus Maven倉庫下載神器 - 401授權所需

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回購(通過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) 
     } 
    } 
} 

任何建議是怎麼回事?

回答

14

您的用戶名屬性被大寫錯誤,您應該忽略'='符號與用戶名和密碼設置。將您的存儲庫定義更改爲以下內容可以解決您的問題:

maven { 
    url repos.my 
    credentials { 
     username maven_user 
     password maven_password 
    } 
} 
+0

大聲笑,謝謝! –

+0

不錯,我不知道是否有更好的方法來捕捉這樣的錯誤?就像通過gradle構建文件傳遞,以使用stemmer捕獲拼寫錯誤或未知屬性。 –

+0

謝謝!我遇到過同樣的問題 –