使用Maven Heroku插件部署Java应用报无效凭据错误如何解决
问题原因
报错返回401状态码和Invalid credentials provided提示,本质是Heroku Maven插件读取到的身份凭证无效,和pom.xml里的插件功能配置无关,一般是本地存储的凭证过期、缺失或者和当前账户不匹配导致的。
解决方法
- 方法1:优先通过Heroku CLI重新登录,插件默认会读取CLI存储的凭证
终端执行heroku login,按照提示完成账户登录后,重新执行部署命令即可,这是最常用的解决方案,大多因凭证过期导致的问题都可以通过该方法解决。 - 方法2:部署时直接传入API密钥参数
如果未安装Heroku CLI,可以在执行部署命令时直接携带API密钥参数:mvn heroku:deploy -Dheroku.apiKey=你的Heroku账户API密钥
API密钥可以在Heroku账户设置页找到。 - 方法3:将凭证配置到Maven全局设置中
如果你不想每次部署都输入参数,可以在Maven的settings.xml配置文件的<servers>节点下添加如下配置:
配置完成后重新执行部署命令,插件会自动读取该配置中的凭证完成认证。<server> <id>heroku</id> <username>你的Heroku登录邮箱</username> <password>你的Heroku API密钥</password> </server> - 额外排查点:如果近期修改过Heroku账户密码、开启/修改了二次验证,旧的本地凭证会直接失效,必须重新完成身份认证后才能正常部署。
内容的提问来源于stack exchange,提问作者user21597761
相关产品推荐
相关产品推荐

