是否可以在命令行中的 Maven Deploy 中传递密码?
Is it possible to pass a password in Maven Deploy in the command line?
这是它目前的工作方式,也是 Maven Deploy Plugin Usage
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
被认为是个人的,因此用户名+密码存储在 (user-)settings.xml
中。所以一般来说没有理由将它们作为参数传递。 (顺便说一下,密码可以在这里加密存储)maven-deploy-plugin
没有通过命令行传递它们的选项。但是,我见过这样的黑客:
<username>${internal.repo.username}</username>
现在你可以-Dinternal.repo.username=someUser
我将在此处列出完整的解决方案,但基本上 Robert Scholte 的解决方案非常有效。
在你的 ~/.m2/settings.xml
中你应该有以下内容
<settings>
<servers>
<server>
<id>${repo.id}</id>
<username>${repo.login}</username>
<password>${repo.pwd}</password>
</server>
</servers>
</settings>
然后你
mvn -Drepo.id=myRepo -Drepo.login=someUser -Drepo.pwd=somePassword clean install
您甚至可以使用您的环境变量(例如,如果您在远程 server/container 上这样做):
mvn -Drepo.id=$REPO_ID -Drepo.login=$REPO_LOGIN -Drepo.pwd=$REPO_PWD clean install
这也有效:
<server>
<id>${repo.id}</id>
<username>${repo.username}</username>
<password>${repo.password}</password>
</server>
这是它目前的工作方式,也是 Maven Deploy Plugin Usage
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
被认为是个人的,因此用户名+密码存储在 (user-)settings.xml
中。所以一般来说没有理由将它们作为参数传递。 (顺便说一下,密码可以在这里加密存储)maven-deploy-plugin
没有通过命令行传递它们的选项。但是,我见过这样的黑客:
<username>${internal.repo.username}</username>
现在你可以-Dinternal.repo.username=someUser
我将在此处列出完整的解决方案,但基本上 Robert Scholte 的解决方案非常有效。
在你的 ~/.m2/settings.xml
中你应该有以下内容
<settings>
<servers>
<server>
<id>${repo.id}</id>
<username>${repo.login}</username>
<password>${repo.pwd}</password>
</server>
</servers>
</settings>
然后你
mvn -Drepo.id=myRepo -Drepo.login=someUser -Drepo.pwd=somePassword clean install
您甚至可以使用您的环境变量(例如,如果您在远程 server/container 上这样做):
mvn -Drepo.id=$REPO_ID -Drepo.login=$REPO_LOGIN -Drepo.pwd=$REPO_PWD clean install
这也有效:
<server>
<id>${repo.id}</id>
<username>${repo.username}</username>
<password>${repo.password}</password>
</server>