无法将main分支部署到Heroku,提示找不到pom.xml如何解决?
Heroku Java项目部署pom.xml未识别排查方案
-----> Building on the Heroku-20 stack
-----> Using buildpack: heroku/java
-----> App not compatible with buildpack: https://buildpack-> registry.s3.amazonaws.com/buildpacks/heroku/java.tgz
Could not find a pom.xml file! Please check that it exists and is committed to Git.
! Push failed
可按以下步骤逐一排查解决:
- 确认pom.xml已提交且在仓库根目录
在本地项目根目录执行git ls-tree --full-tree -r main | grep pom.xml,检查输出的文件路径是否直接为pom.xml。如果文件存放在子目录下,Heroku默认Java构建包无法识别。 - 处理子目录存放的pom.xml
如果pom.xml确实存放在子目录,可通过配置环境变量指定构建目录:执行heroku config:set BUILD_DIR=./你的子目录路径,替换为pom.xml实际所在的相对路径即可。 - 检查.gitignore规则
执行git check-ignore pom.xml,如果有输出内容说明pom.xml被本地忽略规则拦截,没有提交到Git仓库。删除.gitignore中匹配pom.xml的规则后重新执行git add pom.xml && git commit -m "add pom.xml"即可。 - 确认推送分支正确
Heroku默认部署远端的main分支,如果你本地的修改不在main分支,需要执行git push heroku 本地分支名:main指定分支推送。 - 检查文件名大小写
Heroku运行环境为大小写敏感的Linux系统,如果你本地的文件名为Pom.xml、POM.XML等大小写不一致的名称,会导致识别失败,需要将文件名修正为全小写的pom.xml后重新提交。 - 重置构建包重试
以上排查都没问题的话,重新绑定官方Java构建包后重试部署:执行heroku buildpacks:set heroku/java,之后重新推送代码即可。
内容的提问来源于stack exchange,提问作者Yurii
相关产品推荐
相关产品推荐

