У меня проблема с развертыванием моего приложения Springboot в Heroku. После запуска git push heroku master я сталкиваюсь с ошибкой ниже:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.350 s
[INFO] Finished at: 2020-12-22T06:33:14Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project audit: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :audit
remote: ! Push rejected, failed to compile Java app.
remote:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote: !
remote: ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
remote: ! If you are developing on a branch and deploying via git you must run:
remote: !
remote: ! git push heroku <branchname>:main
remote: !
remote: ! This article goes into details on the behavior:
remote: ! https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to tesda8app.
Я не знаю, почему эта ошибка произошла. У меня есть два удаленных репозитория, в которые я загружаю свой код, один из Heroku и один в Github. Я попробовал приведенную ниже команду на основе ответа на этот вопрос, Heroku: если вы разрабатываете ветку и развертываете через git, вы должны запустить:
git push heroku master:main
Но все равно ошибка сохраняется. Есть ли какая-нибудь команда, которую я мог бы попробовать в интерфейсе командной строки Heroku для решения этой проблемы?
привет Крис спасибо за указание на это. я уже обновил журналы ошибок
Я не думаю, что это все сообщение. Пожалуйста, добавьте все это.
привет @Chris обновил журналы. это все сообщение об ошибке, которое я получил




У меня была такая же ошибка в тот же день, что и у вас, я не знаю, тот ли это ответ, который вы ищете, но я каким-то образом решил проблему. Я делал Django-Rest-Api.
вы создали два репозитория git в одной и той же папке/каталоге и вставили в их голову один и тот же код, и Heroku почему-то не хочет, чтобы вы это делали. помните, что нет двух репозиториев git на одном уровне.
git push heroku master:main вещиHeroku развертывает ваш код только из ветки main/master.
поэтому, если вы нажимаете не от мастера, вы должны использовать его как git push heroku <new branch>:main, использование :main с master бессмысленно (то же самое).
Я точно не помню, откуда я это взял, но вам нужно создать новую ветку git, делать
git branch <new branch>
git checkout <new branch>
git add .
git commit -am "commit message"
git push heroku <new branch>:main
но это дает ту же ошибку, потому что у вас все еще есть два репозитория git в вашем каталоге.
вы можете удалить репо следующим образом.
rm -rf .git
Предлагаю вам провести эксперимент на временной копии.
Все, что я сделал, это скопировал все файлы внутри, создал новую папку с другим именем, вставил все файлы, удалил старый и переименовал новый в старый. сделав это, у вас будет бесплатный каталог git, после чего вы сможете использовать метод git init, чтобы просто создать новое репо.
git init
heroku create
git add .
git commit -am "initial commit"
git push heroku master
Это должно устранить ошибку. Она решена для меня, поэтому маловероятно, что я буду работать над ней больше, но если мой ответ каким-либо образом неверен, пожалуйста, сообщите мне.
После нескольких попыток я подумал, что причиной проблемы, возможно, была прерванная команда git push heroku master, которая затем была продолжена повторным выполнением той же команды, что привело к ошибке ниже:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote: !
remote: ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
Итак, что я сделал, так это отправил еще один коммит, затем повторил ту же команду git push heroku master, что привело к успешному развертыванию.
Кроме того, приветствую Ответ и идеи RainXCat, теперь я знаю, что Heroku не позволяет использовать два репозитория git в одном каталоге/папке.
Я столкнулся с той же проблемой. Добавление еще одного коммита и отправка на удаленный сервер решили мою проблему, спасибо.
Установите интерфейс командной строки Heroku Загрузите и установите интерфейс командной строки Heroku.
Если вы еще этого не сделали, войдите в свою учетную запись Heroku и следуйте инструкциям, чтобы создать новый открытый ключ SSH.
$ heroku login
Клонировать репозиторий Используйте Git для клонирования исходного кода проектов на локальный компьютер.
$ heroku git:clone -a project
$ cd project
Разверните свои изменения Внесите некоторые изменения в код, который вы только что клонировали, и разверните их на Heroku с помощью Git.
$ git add .
$ git commit -am "make it better"
$ git push heroku master
это сработало для меня!
git branch <new branch>
git checkout <new branch>
git add .
git commit -am "commit message"
git push heroku <new branch>:main
git push --set-upstream heroku <new branch>это сработало для меня.
Я удалил свой файл package-lock.json и снова сделал следующее.
цель состоит в том, чтобы очистить кеш сборки
Я только что сделал пустой коммит и снова нажал. Это сработало для меня.
git commit --allow-empty -m 'empty commit for pushing staging environment'
git push staging master
Это просто предупреждение. Фактическая ошибка выше этого. Пожалуйста, отредактируйте свой вопрос и покажите нам сообщения об ошибках выше.