Nach dem Wechsel von Play 2.0.4 zu Play 2.2.0 erhalte ich diesen Fehler bei der Bereitstellung auf Heroku:
%Vor%Ich verstehe diese Nachricht nicht
%Vor%Das zweite Problem, das ich sehen kann, ist, dass meine Play-Anwendung die Systemeigenschaft 'demagog.defaultUser' nicht finden kann, aber diese Eigenschaft wird in der Umgebungsvariablen JAVA_OPTS gesetzt. Also sollte es funktionieren. Vielleicht ist es nur eine Konsequenz des oben genannten Problems? Irgendwelche Hinweise?
Ich habe $ {JAVA_OPTS} aus der Procfile entfernt, wie @jan vorgeschlagen hat. Der erste Fehler
%Vor%ist nicht mehr hier, aber die Systemeigenschaft 'demagog.defaultUser' ist immer noch nicht gesetzt.
%Vor%wenn ich den Befehl heroku führe
%Vor%Ich kann sehen, dass die Systemeigenschaft in der Umgebungsvariablen JAVA_OPTS enthalten ist
%Vor%Ok, ich habe es endlich gefunden. Das Problem beim Festlegen meiner Systemeigenschaft mithilfe der Umgebungsvariablen JAVA_OPTS ist:
Bei Umgebungsvariablen wird in Unix zwischen Groß- und Kleinschreibung unterschieden, während in Windows die Groß- und Kleinschreibung nicht berücksichtigt wird.
mit der Kombination, dass das vom sbt-native-packager generierte Skript die Umgebungsvariable java_opts liest. Sie müssen daher die Umgebungsvariable java_opts (Kleinschreibung) in Heroku setzen.
Wahrscheinlich haben Sie $ {JAVA_OPTS} nicht aus Ihrer Procfile entfernt. Mit Play 2.2 sind die JAVA_OPTS im generierten Startskript enthalten, so dass Sie diese nicht mehr in die Procfile einbinden müssen.
Was dann passiert, ist, dass das Startskript versucht, Ihre JAVA_OPTS als App-Parameter zu interpretieren.
Antwort auf das Update: Ich weiß nicht genau, was das Problem jetzt ist. Ich würde vorschlagen, den Standardbenutzer über die Anwendung.config festzulegen. das wird mehr Spiel wie sowieso sein.
in Ihrer application.conf könnte es zB aussehen
%Vor%Dann können Sie die systemspezifische Variable über etwas wie
setzen %Vor%Tags und Links heroku playframework-2.2