是否可以在命令行中的Maven Deploy中传递密码?


问题内容

这是当前的工作方式,也是Maven Deploy插件的用法

pom.xml

[...]
  <distributionManagement>
    <repository>
      <id>internal.repo</id>
      <name>MyCo Internal Repository</name>
      <url>Host to Company Repository</url>
    </repository>
  </distributionManagement>
[...]

settings.xml

[...]
    <server>
      <id>internal.repo</id>
      <username>someUser</username>
      <password>somePassword</password>
    </server>
[...]

而我想要实现的目标是找到一种在命令行中键入用户名和密码的方式。达到mvn deploy -someUser -somePassword


问题答案:

settings.xml被认为是个人的,所以对于这个原因,用户名+密码存储在(用户)settings.xml。因此,一般而言,没有理由将它们作为参数传递。(顺便说一句,密码可以在此处以加密方式存储)maven- deploy-plugin无法通过命令行传递密码。但是,我见过类似的骇客:

<username>${internal.repo.username}</username>

现在你可以做 -Dinternal.repo.username=someUser