Maven错误:未授权,ReasonPhrase:未授权

问题描述 投票:0回答:7

我从 Nexus 存储库中检出了我的代码。我更改了我的帐户密码,并在我的

settings.xml
文件中正确设置了它。在执行
mvn install clean
时,当它尝试从该存储库下载文件时,我收到错误提示
Not authorized, ReasonPhrase:Unauthorized

知道如何解决这个错误吗?我正在使用 Windows 7 和 Maven 3.04

java maven repository maven-3 nexus
7个回答
38
投票

从远程存储库获取依赖项时可能会发生此问题。就我而言,存储库不需要任何身份验证,并且已通过删除 settings.xml 文件中的服务器部分解决了这个问题:

<servers>
    <server>
      <id>SomeRepo</id>
      <username>SomeUN</username>
      <password>SomePW</password>
    </server>
</servers>

ps:我猜你的目标是 mvn clean install 而不是 maven install clean


20
投票

我最近遇到了这个问题。下面是解决步骤

  1. 检查 settings.xml 文件中的服务器部分。用户名和密码是否正确?

<servers>
  <server>
    <id>serverId</id>
    <username>username</username>
    <password>password</password>
  </server>
</servers>

  1. 查看pom.xml文件中的repository部分。server标签的id要和repository标签的id一致

<repositories>
	<repository>
	  <id>serverId</id>  
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	</repository>
</repositories>

  1. 如果pom.xml文件中没有配置repository标签,请查看settings.xml文件。

<profiles>
	<profile>
	  <repositories>
	    <repository>
		    <id>serverId</id>
		    <name>aliyun</name>
		    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	    </repository>
	  </repositories>
	</profile>
</profiles>

注意要保证server标签的id要和repository标签的id一样


13
投票

这里的问题是使用的密码错字,由于密码中使用的字符/字母,不容易识别。


4
投票

您在

settings.xml
中有一个旧密码。它正在尝试连接到存储库,但无法连接,因为密码未更新。一旦你更新并重新运行命令,你应该很好。


1
投票

就我而言,问题是我正在使用“sudo”执行 mvn 命令。

mvn test 在此处查找凭据: /home/aurelio/.m2/settings.xml -> 配置回购凭据

sudo mvn test 在此处查找凭据: /home/root/.m2/settings.xml -> 没有配置回购凭证。


0
投票

我也遇到了类似的问题,但对我来说,我的密码里面有

!
,为了解决我更新我的nexus密码没有
!
的问题(我基本上改变了我的密码,你也可以通过转义
!
来实现,当我尝试从我的詹金斯节点手动执行此操作时,我发现了这个问题,它不喜欢我的密码中的
!
)这解决了我的问题,我假设我的密码字符串中的
!
导致了这个问题当 Jenkins 尝试从我的 jenkins 节点终端连接到 SonaType Nexus 时。我的问题可能与您的问题完全无关,但我也想在这里记录我的经验和解决方案。


-2
投票

我从 pom.xml 中注释掉/删除了这部分代码。它奏效了。所以依赖项是从 Maven 中央仓库下载的。

<repositories>
    ...
</repositories>
© www.soinside.com 2019 - 2024. All rights reserved.