配置maven私库拉取依赖可参考:maven配置远程私有仓库拉取库件

原始配置是没有对密码进行加密的

<server>
   <id>xxx-repo</id>
   <username>admin</username>
   <password>admin123</password>
 </server>

加密

这是接下来需要用到的两个命令

mvn --encrypt-master-password "加盐值"
mvn --encrypt-password "需要加密的密码"

获取加密盐值

输入 mvn --encrypt-master-password 回车然后输入给密码加盐的盐值

maven仓库密码加密,对settings.xml中的password进行加密_xml

将加密盐值放到指定文件
然后将上面获取到的加密盐值放到 当前登录用户名 \.m2\settings-security.xml 的这个文件的 master 标签内,没有这个文件就新建,以下是这个文件的完整内容

<!-- 
maven安全配置文件(如果没有就手动创建), 内容如下
linux下路径:  ~/.m2/settings-security.xml
window下路径:  %USERPROFILE%\.m2\settings-security.xml
window下路径:  当前登录用户名\.m2\settings-security.xml

%USERPROFILE% 指当前登录windows的用户, 比如我当前登录的账号是admin
完整示例: C:\Users\admin\.m2
-->
<settingsSecurity>
    <!-- master的值为 mvn encrypt-master-password 生成的密文-->
    <master>{2yB41Sc3/uUHseN39zLQB+14crvBhxsQRaXWgOTjdy8=}</master>
</settingsSecurity>

maven仓库密码加密,对settings.xml中的password进行加密_maven_02

给密码进行加密
输入 mvn --encrypt-password 回车然后输入要加密的仓库密码,比如我的就输入 admin123,然后回车得到的密码就是加密后的密码

maven仓库密码加密,对settings.xml中的password进行加密_用户名_03

4. 替换明文密码

替换 settings.xml 中的password即可

<server>
    <id>gleam-repo</id>
    <username>admin</username>
    <password>{TVKDNf7AL24H6+DZZwlMsc7DCGp+98I0Fa/ZSYTQ4v8=}</password>
</server>

maven配置中央仓库的完整配置

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!--依赖存放在你本地的仓库地址-->
  <localRepository>C:\environment\apache-maven-3.6.3\maven-repo</localRepository>

  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

  <!-- servers
   | This is a list of authentication profiles, keyed by the server-id used within the system.
   | Authentication profiles can be used whenever maven must make a connection to a remote server.
   |-->
  <servers>
    <!--仓库用户名和密码, 可配置多个-->
    <server>
      <id>gleam-repo</id>
      <username>admin</username>
      <password>{TVKDNf7AL24H6+DZZwlMsc7DCGp+98I0Fa/ZSYTQ4v8=}</password>
    </server>
  </servers>

  <mirrors>
    <!-- 私库镜像
    如果私库要使用账号密码那么这里 mirror中 的id就要跟 server 中的id保持一致
    因为 Maven 是通过 id 来对比变量和匹配的
    mirrorOf 替代方式, 
      *: 匹配所有,所有内容都从这个镜像拉取
      external:*: 除了本地缓存的所有从镜像仓库拉取;
      repo,repo1: repo或者repo1从这个镜像进行拉取,这里的repo指的profile的ID
      *,!repo1: 除了repo1的所有仓库;
    -->
    <mirror>
      <id>gleam-repo</id>
      <!-- dev 的从这个镜像拉取, 这里的名称跟下面对应的 profile 的id保持一致 -->
      <mirrorOf>dev</mirrorOf>
      <name>公司私库</name>
      <url>http://192.10.10.70:8081/repository/maven-public/</url>
    </mirror>

    <!-- 阿里云镜像 -->
    <mirror>
      <id>aliyunmaven</id>
      <!-- aliyun 的从这个镜像拉取, 这里的名称跟下面对应的 profile 的id保持一致 -->
      <mirrorOf>aliyun</mirrorOf>
      <name>阿里云公共仓库</name>
      <!-- <url>https://maven.aliyun.com/repository/public</url> -->
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>


  <profiles>
    <!-- 阿里云仓库配置 -->
    <profile>
      <!-- 这里的id名称跟上面对应的 mirror 镜像的 mirrorOf 名称保持一致 -->
      <id>aliyun</id> 
      <repositories>
        <repository>
          <id>aliyun</id>
          <!-- <url>https://maven.aliyun.com/repository/public</url> -->
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>

    <!-- 私库仓库配置 -->
    <profile>
        <!-- 这里的id名称跟上面对应的 mirror 镜像的 mirrorOf 名称保持一致 -->
        <id>dev</id>
        <repositories>
         <repository>
          <!-- 如果要使用用户名密码的话 repository 的id就要和mirror的id保持一致 -->
          <id>gleam-repo</id>
          <url>http://192.10.10.70:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
         </repository>
        </repositories>
            <!-- <pluginRepositories>
                <pluginRepository>
                    <id>pds-repo</id>
                    <name>deployment</name>
                    <url>http://192.10.10.70:8081/repository/maven-public/</url>
                </pluginRepository>
            </pluginRepositories> -->
        </profile>
  </profiles>

  <!-- 要激活的配置 -->
  <activeProfiles>
    <activeProfile>aliyun</activeProfile>
    <activeProfile>dev</activeProfile>
  </activeProfiles>
</settings>