部署工件时出错:传输文件失败返回代码为:401

时间:2014-02-09 16:16:05

标签: android maven authentication android-gradle sonatype

我正在尝试将我的库ListBuddies上传到maven。要做到这一点,我正在使用@ChrisBanes的gradle-mvn-push github项目。我遵循他在回购时提到的所有步骤以及在使用回购之前需要的其他一些步骤:

本地gradle.properties文件(签名密钥只需要发布,所以不应该是SNAPSHOT的问题):

//These are the username/password that I use for:
//[JIRA](https://issues.sonatype.org) 
//and [NEXUS](https://oss.sonatype.org

NEXUS_USERNAME=jpardogo1
NEXUS_PASSWORD=jira-pass

//This is the key ID that I obtain doing "gpg --list-keys" on the terminal
signing.keyId=my-keyid

//This is the paraphrase I set when I first created the key
signing.password=my-paraphrase

//That's the path to my secret key ring
signing.secretKeyRingFile=/Users/jpardogo/.gnupg/secring.gpg

看起来所有设置都正确,但是当我这样做时:

gradle clean build uploadArchives

最后我收到代码ERROR 401:

:library:uploadArchives                 
Uploading: com/jpardogo/listbuddies/library/1.0.0-SNAPSHOT/library-1.0.0-20140209.151716-    1.aar to repository remote at https://oss.sonatype.org/content/repositories/snapshots/
Transferring 67K from remote            
:library:uploadArchives FAILED          

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':library:uploadArchives'.
> Could not publish configuration 'archives'
   > Error deploying artifact 'com.jpardogo.listbuddies:library:aar': Error deploying artifact: Failed to transfer file:     https://oss.sonatype.org/content/repositories/snapshots/com/jpardogo/listbuddies/library/1.0.0-SNAPSHOT/library-1.0.0-20140209.151716-1.aar. Return code is: 401

* Try:         
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED   

我一直在寻找昨天和今天整天的答案,但我无法解决。错误401的原因在here中是很好的解释,但我无法解决任何问题,我也读到它可能是由于用户权限问题,尽管我在Jira上注册guide说。

我希望你能帮助我,如果你需要更多信息,请告诉我。感谢。

编辑:我想通过jira ticket及其评论的链接更新问题。

3 个答案:

答案 0 :(得分:4)

我终于解决了它。所有的配置都还可以。问题出在文件gradle.properties上。因为我复制粘贴文件的结构,NEXUS_USERNAME旁边会提醒一个隐藏的列表,所以用户名实际上是与列表一起发送的,我收到了身份验证错误。

有时事情比你想象的要简单,而你却看不到它们。我下次要做的第一件事就是检查文件的格式。

答案 1 :(得分:0)

我遇到了完全相同的问题,原因是:我的密码(已生成)包含反斜杠src

解决方案:需要在\转义反斜杠!

示例

gradle.properties

而不是:

ossrhPassword=partBeforeBackslash\\\\partAfterBackslash

答案 2 :(得分:0)

对我来说,问题是我上传了代表中已经存在的版本。解决方案只是更改build.gradle文件中的“版本”。