mvn deploy 的账户配置
Eave
2026.06.01
mvn deploy的账户配置主要在Maven的settings.xml文件中。其核心是<servers>标签,通过为仓库配置一个唯一的ID和对应的用户名/密码,实现安全认证。
一、核心配置
在Maven的settings.xml文件中找到<servers>标签,并添加一个<server>配置块。
${M2_HOME}/conf/settings.xml,或者${user.home}/.m2/settings.xml
配置如下:
<server>
<!-- 这个 id 必须和你的 pom.xml 中仓库的 id 完全一致 -->
<id>my-private-repo</id>
<!-- 你的用户名 -->
<username>your_username</username>
<!-- 你的密码或访问令牌(建议使用加密后的密码) -->
<password>your_password_or_token</password>
</server>
注意:在大多数现代DevOps平台(如 GitLab、GitHub、Nexus)上,<password>字段应填入访问令牌(Access Token/Personal Access Token),而不是你登录网页的账户密码。
二、添加HTTP头认证(如 GitLab)
某些仓库(如 GitLab)要求通过HTTP头传递令牌,配置方式如下:
<server>
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<!-- 根据仓库类型填写 Private-Token 或 Deploy-Token -->
<name>Private-Token</name>
<value>你的访问令牌</value>
</property>
</httpHeaders>
</configuration>
</server>
三、仓库匹配
settings.xml中的<id>需要和pom.xml里distributionManagement标签中的id匹配,Maven才能通过id找到对应账户。
<distributionManagement>
<repository>
<!-- 这里的 id 必须和 settings.xml 中 server 的 id 完全一致 -->
<id>my-private-repo</id>
<!-- 仓库的 URL -->
<url>https://your-repo-server.com/repository/my-releases/</url>
</repository>
</distributionManagement>
四、执行发布
配置完成后,在项目根目录下执行以下命令即可:
# 跳过测试并发布到仓库
mvn clean deploy -Dmaven.test.skip=true
五、配置镜像(Mirror)加速
如果希望通过私有仓库代理中央仓库(Central),需要在settings.xml文件中的<mirrors>标签中配置镜像:
<mirror>
<id>aliyun-mirror</id>
<name>Aliyun Mirror</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>central</mirrorOf> <!-- 拦截所有对中央仓库的请求 -->
</mirror>