2 Stimmen

Deploy play 2.1.1 framework to heroku

Ich versuche meine App auf Heroku bereitzustellen, aber ich erhalte einen Fehler.

Ich habe ein Procfile erstellt und diese Zeile eingefügt:

web: target/start --http.port=$PORT $PLAY_OPTS

Ich kann die App hochladen, aber wenn ich diesen Befehl ausführe heroku ps, erhalte ich diesen Fehler:

=== web (1X): `play run --http.port=$PORT $PLAY_OPTS`
web.1: crashed 2013/06/15 22:17:41 (~ 2m ago)

Und beim heroku open erhalte ich einen Anwendungsfehler.

Was mache ich falsch?

UPDATE: Ich habe das Procfile bearbeitet und erhalte jetzt diesen Fehler in den Logs
Nicht erkannte Option: --http.port=6192

2013-06-16T19:03:15.019987+00:00 heroku[slugc]: Slug-Kompilierung gestartet
2013-06-16T19:05:18.689752+00:00 heroku[api]: Release v12 erstellt von miko5054@gmail.com
2013-06-16T19:05:18.658969+00:00 heroku[api]: Deploy df1da57 von miko5054@gmail.com
2013-06-16T19:05:18.741269+00:00 heroku[api]: Deploy df1da57 von miko5054@gmail.com
2013-06-16T19:05:19.331223+00:00 heroku[web.1]: Zustand geändert von crashed zu starting
2013-06-16T19:05:20.703658+00:00 heroku[slugc]: Slug-Kompilierung beendet
2013-06-16T19:05:27.374326+00:00 heroku[web.1]: Prozess gestartet mit Befehl `target/start --http.port=6192 $PLAY_OPTS`
2013-06-16T19:05:28.121197+00:00 app[web.1]: JAVA_TOOL_OPTIONS gefunden: -Djava.rmi.server.useCodebaseOnly=true
2013-06-16T19:05:28.121197+00:00 app[web.1]: Nicht erkannte Option: --http.port=6192
2013-06-16T19:05:28.121197+00:00 app[web.1]: Java Virtual Machine konnte nicht erstellt werden.
2013-06-16T19:05:29.501307+00:00 heroku[web.1]: Prozess mit Status 1 beendet
2013-06-16T19:05:29.505969+00:00 heroku[web.1]: Zustand geändert von starting zu crashed
2013-06-16T19:05:37.540727+00:00 heroku[web.1]: Prozess mit SIGKILL beendet
2013-06-16T19:05:37.540529+00:00 heroku[web.1]: Fehler R99 (Plattformfehler) -> Starten des Dynos innerhalb von 10 Sekunden fehlgeschlagen

UPDATE2

Ich habe versucht, dem Rat von nico_etkito zu folgen, aber wenn ich das Procfile vollständig entferne, erhalte ich dies:

2013-06-17T15:46:00.964382+00:00 heroku[web.1]: Prozess gestartet mit Befehl `target/start -Dhttp.port=27372 -Xmx384m -Xss512k -XX:+UseCompressedOops`
2013-06-17T15:46:03.034355+00:00 app[web.1]: JAVA_TOOL_OPTIONS gefunden: -Djava.rmi.server.useCodebaseOnly=true
2013-06-17T15:46:05.654657+00:00 app[web.1]: Play Server Prozess-ID ist 2
2013-06-17T15:46:08.146849+00:00 app[web.1]: [Fehler] c.j.b.h.AbstractConnectionHook - Fehler beim initialen Verbindungsaufbau. Schlafen für 0ms und erneutes Versuchen. Versuche übrig: 0. Ausnahme: java.net.ConnectException: Verbindungsaufbau abgelehnt

Und wenn ich das mit diesem Procfile web: target/start -Dhttp.port=${PORT} mache, erhalte ich dieses Ergebnis:

2013-06-17T15:53:55.937519+00:00 heroku[web.1]: Prozess gestartet mit Befehl `target/start -Dhttp.port=${PORT}`
2013-06-17T15:53:56.825154+00:00 app[web.1]: JAVA_TOOL_OPTIONS gefunden: -Djava.rmi.server.useCodebaseOnly=true
2013-06-17T15:54:02.003067+00:00 app[web.1]: Play Server Prozess-ID ist 2
2013-06-17T15:54:07.088725+00:00 app[web.1]: [Fehler] c.j.b.h.AbstractConnectionHook - Fehler beim initialen Verbindungsaufbau. Schlafen für 0ms und erneutes Versuchen. Versuche übrig: 0. Ausnahme: java.net.ConnectException: Verbindungsaufbau abgelehnt

update3

Ich war fast aufgegeben...

Aber ich habe die früheren Probleme überwunden, indem ich dieses Procfile verwendet habe:

web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}

Jetzt erhalte ich diesen seltsamen Fehler:

Verursacht durch: org.postgresql.util.PSQLException: FATAL: Rolle "jmcgekjnrcomcr" hat keine Anmeldung

Dies ist meine Postgres-Konfiguration in der Konfigurationsdatei:

#postgres
db.default.driver=org.postgresql.Driver
#db.default.url="jdbc:postgresql://localhost:5432/data"
#db.default.user=***
#db.default.password=***

Danke für die Hilfe.

1voto

ndeverge Punkte 21198

In der neuesten Heroku-Buildpack ist die Procfile optional.

Wenn Sie ein Procfile verwenden möchten, aus der Play-Dokumentation, müssen Sie Folgendes verwenden:

web: target/start -Dhttp.port=${PORT}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X