maven 中deploy命令报401错误的原因及解决方案

发布时间 2023-07-19 16:25:49作者: 乖怪丶

在mac版idea使用过程中有时候会出现deploy时候报401错误,如图:

 

经过详细的论证分析,找到如下原因及解决方案:

原因一、pom 文件李配置的私服仓库地址和settings.xml里配置的用户名和密码没有匹配上

1、pom.xml里的仓库配置:

<!--项目分发信息,在执行mvn deploy后表示要发布的位置。有了这些信息就可以把网站部署到远程服务器或者把构件jar等部署到远程仓库。 -->
    <distributionManagement>
        <repository><!--部署项目产生的构件到远程仓库需要的信息 -->
            <id>releases</id><!-- 此处id和settings.xml的id保持一致 -->
            <name>Release Deploy</name>
            <url>http://10.60.145.41:881/repository/maven-releases/</url>
        </repository>
        <snapshotRepository><!--构件的快照部署到哪里?如果没有配置该元素,默认部署到repository元素配置的仓库,参见distributionManagement/repository元素 -->
            <id>snapshots</id><!-- 此处id和settings.xml的id保持一致 -->
            <name>Snapshot Deploy</name>
            <url>http://10.60.145.41:881/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

2、此时对应的setting.xml里的配置信息为:

     <server>
        <id>snapshots</id><!-- 此处id和上面pom.xml的id保持一致 -->
        <username>nandao</username>
        <password>123456</password>
      </server>
      <server>
        <id>releases</id><!-- 此处id和上面pom.xml的id保持一致 -->
        <username>nandao</username>
        <password>123456</password>
      </server>

3、检查两者信息是否一致,就可以解决问题。如果还是报401问题,则可能是下面的原因。

 原因二、idea中自定义的settings.xml配置没有生效

1、idea中的配置:

但是经过严格验证,在mac电脑上可能没生效,原因可能是配置环境变量的问题。

2、此时我们应该采用idea 默认的配置,即把该自定义setting.xml配置放到.m2的目录下

 

3、检查环境变量配置,一切就会OK.