描述
最近遇到了一个需求需要在mvn deploy 命令中动态传递nexus私库id和用户名密码,在网上找了下资料,记录下实现方式
实现步骤
修改settings.xml文件
需要在settings.xml
文件上加上参数变量,settings.xml
默认路径在~/.m2/
下面.
在<server>
标签内添加自定义标签名,例如:
<?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">
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
</pluginGroups>
<servers>
<server>
<id>${repo.id}</id>
<username>${repo.user}</username>
<password>${repo.pass}</password>
</server>
</servers>
</settings>
mvn deploy 命令传参
根据自己定义的变量名传参到settings.xml
repo.user
指定用户名, repo.pass
指定密码, repo.id
指定nexus私库id必须和项目中ipom.xml
文件的仓库id保持一致, -s
参数指定settings.xml
的路径, 例如:
mvn deploy '-Drepo.user=xxx' '-Drepo.pass=xxx' '-Drepo.id=test' -s ~/.m2/settings.xml
上传完成后可以到nexus上去看文件是否上传成功