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,提示

Java

1

2

3

4

5

6

7

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy)

on project trinea-android-common: Failed to deploy artifacts: Could not transfer artifact

cn.trinea.android.common:trinea-android-common:pom:4.2.10-20140510.125625-1 from/to

sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots/):

Failed to transfer file: https://oss.sonatype.org/content/repositories/snapshots/

cn/trinea/android/common/trinea-android-common/4.2.10-SNAPSHOT/trinea-android-common-4.2.10-20140510.125625-1.pom.

Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

检查了下

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

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<settings>

...

<servers>

<server>

<id>sonatype-nexus-snapshots</id>

<username>your-jira-id</username>

<password>your-jira-pwd</password>

</server>

<server>

<id>sonatype-nexus-staging</id>

<username>your-jira-id</username>

<password>your-jira-pwd</password>

</server>

</servers>

...

</settings>

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

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

Java

1

2

3

4

5

6

7

Java version: 1.7.0_02, vendor: Oracle Corporation

Java home: D:\Program Files\Java\jdk1.7.0_02\jre

Default locale: zh_CN, platform encoding: GBK

OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

[INFO] Error stacktraces are turned on.

[DEBUG] Reading global settings from D:\Program Files\apache-maven-3.2.1\conf\settings.xml

[DEBUG] Reading user settings from C:\Users\Administrator\.m2\settings.xml

先读的是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配置是否生效

目录
相关文章
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
2月前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
58 0
|
5月前
|
存储 Java Maven
maven在尝试访问nexus存储库时得到“未授权” Not authorized , ReasonPhrase:Unauthorized
maven在尝试访问nexus存储库时得到“未授权” Not authorized , ReasonPhrase:Unauthorized
159 0
|
4月前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
363 0
|
1月前
|
存储 Java Maven
|
2月前
|
存储 Java Maven
从零开始使用Nexus搭建你的Maven私服(Windows系统)
作为开发人员,我们经常需要依赖于Maven来管理项目的依赖,但是在工作中可能会遇到网络不稳定、依赖库被删除等问题。为了解决这些问题,搭建一个Maven私服是一个理想的选择。本文将介绍如何在Windows系统环境下使用Nexus来搭建Maven私服。
161 0
从零开始使用Nexus搭建你的Maven私服(Windows系统)
|
4月前
|
存储 Java Linux
Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
104 0
|
4月前
|
存储 Java 测试技术
发布jar到maven中央仓库idea+nexus存储库管理操作流程
发布jar到maven中央仓库idea+nexus存储库管理操作流程
40 0
|
5月前
|
Java Maven 数据安全/隐私保护
Maven项目发布jar包到Nexus私服
Maven项目发布jar包到Nexus私服
|
5月前
|
Java Maven
本地jar上传到Maven仓库Nexus
本地jar上传到Maven仓库Nexus

热门文章

最新文章

推荐镜像

更多