2016-07-27 21 views
0

Ich habe einen Fehler in der Anwendungsbereitstellung mit "Git Push Master Heroku", während lokal es funktioniert. Ich möchte meine persistence.xml für den Zugriff auf meine Datenbank von H2 verwenden (ich verwende vielleicht PostgreSQL wird) alle mit meiner Datenquelle auf Wildfly 10.Bereitstellung auf Heroku mit meiner persistence.xml (JPA) ohne Spring

fand ich keinen Hinweis anders als der Frühling. (Ich kann es nicht benutzen)

Danke!

+0

dup von https://stackoverflow.com/questions/38603284/heroku-deploy-with-java-jpa-not-use-spring –

+0

Hallo alle zusammen, bitte ich möchte den Fehler finden. –

Antwort

1

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.