05/12
2014

Maven Sonatype Nexus return 401

主要解决Sonatype Nexus return ’401′问题查看maven当前生效的是哪个settings.xml

 

使用Sonatype把自己android-common的和android-auto-scroll-view-pager等库发布到Maven中央仓库
mvn clean deploy却发现始终401,提示

检查了下

(1) 已添加C:\Users\your-user-name\.m2\settings.xml,并且内容包含

(2) 上面的your-jira-id和your-jira-pwd已经替换为自己在https://oss.sonatype.org/上的用户名和密码。

 

用mvn help:effective-settings查看了下当前生效的settings文件内容,发现并没有上面(1)中添加的内容,怀疑settings文件是否生效了,用mvn -X命令查看如下

先读的是maven安装目下conf里面的settings.xml,那为什么没生效呢?

直接修改D:\Program Files\apache-maven-3.2.1\conf\settings.xml mvn clean deploy可正常发布

D:\Program Files\apache-maven-3.2.1\conf\settings.xml拷贝到C:\Users\Administrator\.m2\下居然不会提示和已有的settings.xml文件重名冲突,复制两个文件名发现之前新建的文件名为?settings.xml,次奥,网页上复制过来多了个非法字符,并且一般不可见。这样删除?settings.xml这个文件保留settings.xml文件加上配置即可。

 

PS:
maven-help-plugin是一个小巧的辅助工具,最简单的help:system可以打印所有可用的环境变量和Java系统属性。help:effective-pom和help:effective-settings最为有用。

help:effective-pom用于查看当前生效的POM内容,指合并了所有父POM(包括Super POM)后的XML,所以可用于检测POM中某个配置是否生效

effective-settings可用于查看当前生效的settings.xml文件内容,所以可用于判断某个settings配置是否生效

 

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

2 thoughts on “Maven Sonatype Nexus return 401

  1. 我换了一台电脑,gpg密钥在新的电脑上重新生成了,其他什么都是一样的,settings.xml是从老电脑上拷过来的,没有出现文件名不对的情况,但是现在发布到仓库无法成功了,错误就是您上面说这个错,网上说都是settings.xml的问题 – -我实在是没辙了