我正在調查Heroku作爲一個平臺,並試圖獲得一個基本的Java Web應用程序來運行它。該webapp已經建立並運行於Maven(使用Tomcat和cargo-maven插件),所以我認爲這應該是一件輕而易舉的事,因爲Heroku使用Maven來管理其安裝/部署任務。Heroku - 我可以從Procfile調用Maven嗎?
但事實並非如此,因爲我無法讓事情真正開始。我Procfile
已經在它下面:
web: sh ./startServer-heroku.sh
而且startServer-heroku.sh
就是:
mvn clean install cargo:start -Dcargo.maven.wait=true
這工作得很好,當我在本地測試使用foreman start
命令,如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
,所以命令失敗。
是否可以從Heroku Procfile
中調用mvn
?並且是否有任何有Procfile
不可用的命令清單?
看一下[jcabi-heroku-maven-plugin](http://www.jcabi.com/jcabi-heroku-maven-plugin/index.html),它將整個部署過程自動化到Heroku。也許它會幫助你的情況。 – yegor256