49

我从 Nexus 存储库中检查了我的代码。我更改了我的帐户密码并在我的settings.xml文件中正确设置了它。在执行时,当它尝试从该存储库下载文件时,mvn install clean我收到错误消息。Not authorized, ReasonPhrase:Unauthorized

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

4

7 回答 7

38

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

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

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

于 2012-06-06T14:19:49.803 回答
20

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

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

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

  1. 检查 pom.xml 文件中的存储库部分。服务器标签的 id 应该与存储库标签的 id 相同。

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

  1. 如果 pom.xml 文件中未配置存储库标记,请查看 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>

请注意,您应该确保服务器标签的 id 应该与存储库标签的 id 相同。

于 2019-02-26T08:11:51.570 回答
13

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

于 2012-09-26T04:53:01.967 回答
4

您在settings.xml. 它正在尝试连接到存储库,但无法连接,因为密码未更新。更新并重新运行命令后,您应该会很好。

于 2018-09-11T14:25:49.577 回答
1

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

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

sudo mvn test 在此处查找凭据:/home/root/.m2/settings.xml -> 未配置 repo 凭据。

于 2021-11-22T17:25:49.477 回答
0

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

于 2021-11-13T16:52:25.267 回答
0

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

<repositories>
    ...
</repositories>
于 2021-12-10T01:38:56.153 回答