Spring Boot模块化项目执行mvn release:prepare时Git权限问题求助
解决Maven Release:prepare时Git SSH权限拒绝问题
从错误日志里的git@github.com: Permission denied (publickey)可以明确,问题出在Maven执行release流程时,无法通过SSH密钥认证连接到GitHub仓库。下面分步骤帮你解决:
一、生成并配置GitHub SSH密钥
如果本地还没有SSH密钥,或者密钥未关联到你的GitHub账户,按以下步骤操作:
- 检查本地已有SSH密钥
打开终端执行:
ls -la ~/.ssh
如果看到id_rsa(私钥)和id_rsa.pub(公钥)文件,直接跳到步骤3;否则继续生成新密钥。
- 生成新的SSH密钥
执行以下命令(替换成你的GitHub注册邮箱):
ssh-keygen -t rsa -b 4096 -C "your_github_email@example.com"
全程按回车使用默认配置即可(不需要设置密码,除非你需要额外的安全验证)。
- 启动SSH代理并添加密钥
先启动代理:
eval "$(ssh-agent -s)"
然后将私钥添加到代理:
ssh-add ~/.ssh/id_rsa
- 将公钥添加到GitHub账户
先复制公钥内容:
cat ~/.ssh/id_rsa.pub
然后登录GitHub,依次进入:Settings → SSH and GPG keys → New SSH key
粘贴复制的公钥内容,随便填一个Title(比如"Local Development Key"),点击Add SSH key保存。
- 测试SSH连接
执行以下命令验证是否能成功连接GitHub:
ssh -T git@github.com
如果输出类似Hi VinamraJain! You've successfully authenticated, but GitHub does not provide shell access.的内容,说明SSH配置成功。
二、检查并修正Maven SCM配置
确保你的pom.xml里的<scm>配置正确指向你的GitHub仓库:
<scm> <developerConnection>scm:git:git@github.com:VinamraJain/vj-pet-clinic.git</developerConnection> <tag>vj-pet-clinic-0.0.1</tag> </scm>
注意替换VinamraJain为你实际的GitHub用户名,确保仓库地址正确。
三、执行Maven Release前的准备
- 确保本地Git仓库没有未提交的修改(除了pom.xml,你已经配置了排除它的检查)。
- 在IntelliJ的终端或者系统终端中,进入项目根目录,重新执行:
mvn release:prepare
如果还是有问题,可以加上-X参数开启调试日志,进一步排查:
mvn release:prepare -X
内容的提问来源于stack exchange,提问作者Vinamra Jain
相关产品推荐
相关产品推荐

