为maven密码加密生成settings-security.xml文件

jvt*_*del 6 password-encryption maven

我想使用maven password encryption加密我的 Apache Archiva 服务器密码。

我做了:

mvn --encrypt-master-password 12345
Run Code Online (Sandbox Code Playgroud)

美好的。我在括号内得到了一个加密密码。然后:

mvn --encrypt-password 12345
Run Code Online (Sandbox Code Playgroud)

Maven 抱怨:

[ERROR] Error executing Maven.
[ERROR] java.io.FileNotFoundException: /home/myUserName/.m2/settings-security.xml (No such file or directory)
[ERROR] Caused by: /home/myUserName/.m2/settings-security.xml (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我知道我应该将我的加密主密码放在文件 settings-security.xml 中,但它在默认位置不存在并且 maven 无法生成它。

这个配置文件的内容应该是什么?如何生成它?

sec*_*int 7

mvn --encrypt-master-password不创建文件settings-security.xml。你必须自己做。

所以程序是:

  1. 使用该命令mvn --encrypt-master-password生成主密码。记住这个密码。
  2. 创建一个新的文件settings-security.xml${user.home}/.m2/。例如,在 Mac OS X 或 Ubuntu 上作为~/.m2/settings-security.xml.

写入此文件:

<settingsSecurity>
  <master>OUTPUT OF THE COMMAND: mvn --encrypt-master-password</master>
</settingsSecurity>
Run Code Online (Sandbox Code Playgroud)

例如:

<settingsSecurity>
  <master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
Run Code Online (Sandbox Code Playgroud)

之后 maven encrypt 命令在命令行上工作:

mvn --encrypt-password

正如 khmarbaise 所提到的,更详细的信息可以在这里找到:https ://maven.apache.org/guides/mini/guide-encryption.html