Maven中的配置文件密码加密机制

在Maven的settings.xml中,往往要配置访问远程库所在的服务器的username/password。但是明文的密码总是显得那么扎眼,必欲除之而后快。

Apache Maven项目提供了便捷的密码加密机制,该机制的最近更新时间为2018-03-06。

该机制目前只支持在命令行下的操作,如生成密码的密文。

此外,用户还需要在${user.home}/.m2目录下配置settings-security.xml文件,其中包含:
  • 用以加密其他密码的master password(此处也是密文)
  • 或指向另一个保密文件的完整路径

在该加密机制中有两个概念,一个是master password,即用以加密其他密码的密码,另一个就是实际使用的服务器访问密码password。master password的密文配置在settings-security.xml文件中,而服务器访问密码password的密文就可以大大方方地配置在settings.xml中。具体用法如下:

1. 生成Master password的密文

命令行中执行如下命令:

mvn --encrypt-master-password
根据提示输入Master password:
就可以生成密文{iENT44//TgwH46wJQ0Go3et0u9PRZivf7LcAA9mY4LA=}


2. 配置${user.home}/.m2/settings-security.xml文件


  {iENT44//TgwH46wJQ0Go3et0u9PRZivf7LcAA9mY4LA=}

如果settings-security.xml文件被保存到U盘,则配置${user.home}/.m2/settings-security.xml文件如下:


  /my_u_volume/my_path/settings-security.xml


3. 加密访问服务器的密码

命令行中执行如下命令:

mvn --encrypt-password

根据提示输入Password:

就可以生成密文{rZhmW6UmQw0HhRTeqSBchuMAgAoH6owP/hJjV3a/9Eg=}


4. 配置settings.xml文件


  my.server
  myfoo
  add_any_comment or {{rZhmW6UmQw0HhRTeqSBchuMAgAoH6owP/hJjV3a/9Eg=}} add_any_comment
参考链接:

http://maven.apache.org/guides/mini/guide-encryption.html


你可能感兴趣的:(Maven)