Ich habe JavaEE Web App (mit JSF, Javabean, Ejb, Di etc) auf Heroku bereitgestellt. Heroku wird können Sie Shell-Skript zum Starten Ihrer Anwendung wie Klasse mit einer Hauptmethode oder ausführbare .jar-Datei ausführen. Nicht auf dem vorinstallierten Fullstack-Anwendungsserver. Auch wenn Sie Java-App auf Heroku ausführen, sollte Ihr Projekt maven sein.
Um es von der Kommandozeile arbeiten Sie Wolke bereit laufen überall winzige Server wie payara-micro, wildfly-swarm, spring-boot verwenden können. Es verwandelt Ihre App und Ihren Server in ein ausführbares jar (Uber JAR). Auch Tomcat und Jetty haben Wrapper für Build UberJar.
Ich benutze Payara-Mikro und es ist großartig, dass sehr kleine Glas fast alle JavaEE Funktionen mit Sitzungsreplikation ausführen kann. Folgen Sie diesem Link für Anweisungen payara-micro how to (lesen Sie auch Maven Teile).
Wenn Sie auf Heroku drücken (mit Heroku CLI Tool), wird automatisch Ihr Projekt erstellt und Skript aus der Datei Procfile von Ihrem Projekt-Stammverzeichnis ausgeführt. Probe procfile:
web: java -jar target/myapp.jar --port $PORT
Betrachten $PORT
Teil von oben Schnipsel. Wenn die Heroku Runtime (Dyno) startet, öffnet sie einen zufälligen Port (ich denke schon) und binde an die $PORT
Umgebungsvariable. So, hier bin ich über, die Access-Port zu Payara-Micro-Server für zuhören. Andere erwähnte Server sollten mit ähnlichen Verfahren arbeiten. Sie können Dokumentationen bei heroku devcenterr
finden für JPA und Datenbank-Konnektivität Heroku JDBC_DATABASE_URL
und DATABASE_URL
Umgebungsvariablen bereitstellt, die Verbindungsinformationen (URL etc.) für Sie connect database haben. Ich konnte den Weg nicht finden, diese Variablen in persistence.xml
zu verbinden. Aber Sie können EntityManagerFactory
und EntityManager
programmgesteuert erstellen und konfigurieren.
Ich hoffe, es hilft.
dup von https://stackoverflow.com/questions/38603284/heroku-deploy-with-java-jpa-not-use-spring –
Hallo alle zusammen, bitte ich möchte den Fehler finden. –