Я исследую Heroku как платформу и пытаюсь запустить на нем базовое веб-приложение Java. . Веб-приложение уже создается и запускается с Maven (с использованием Tomcat и Cargo-maven-plugin), поэтому я подумал, что это должно быть проще простого, учитывая, что Heroku использует Maven для управления своими задачами установки / развертывания.
Это не тот случай, потому что я не могу заставить его запустить. В моем Procfile
есть следующее:
web: sh ./startServer-heroku.sh
А startServer-heroku.sh
просто:
mvn clean install cargo:start -Dcargo.maven.wait=true
Это отлично работает, когда я тестирую локально, используя запуск мастера
, как описано в учебной документации Heroku. Но когда я пробую его на реальном сервере Heroku, я получаю следующие сообщения журнала:
2011-11-09T02:30:27+00:00 heroku[web.1]: State changed from created to starting
2011-11-09T02:30:27+00:00 heroku[slugc]: Slug compilation finished
2011-11-09T02:30:33+00:00 heroku[web.1]: Starting process with command `sh ./startServer-heroku.sh`
2011-11-09T02:30:33+00:00 app[web.1]: ./startServer-heroku.sh: 1: mvn: not found
2011-11-09T02:30:33+00:00 heroku[web.1]: Process exited
2011-11-09T02:30:34+00:00 heroku[web.1]: State changed from starting to crashed
Похоже, что mvn
нигде не может быть найден в системном PATH
, поэтому команда терпит неудачу.
Можно ли вызвать mvn
из файла Heroku Procfile
? И есть ли где-нибудь подробный список команд, которые доступны и недоступны из Procfile
?