Es scheint eine Vielzahl von Möglichkeiten zu geben, Java-Anwendungen auf Heroku zu veröffentlichen. Dies ist jedoch ein Memo, wenn die Produktionsumgebung Heroku ist, wenn lokal mit Tomcat in Orthodox entwickelt wird.
・ Plejaden in einer Eclipse-Version 2018-09 (kompatibel mit Eclipse SimRel 2018-09) ・ Heroku
Dieses Verfahren war das erste, weil ich zuerst den Anwendungsnamen sichern wollte, aber es ist auch nach der Konvertierung in das Maven-Projekt möglich, das ich später mache. Dieses Mal habe ich es mit dem Namen devtest-heroku wie folgt erstellt. Gehen Sie dann zur Registerkarte Einstellungen Geben Sie das Build Pack an. Diesmal ist es Java. Hinzugefügt.
Es ist jedoch keine Konvertierung, aber hier werden wir die Methode der neuen Erstellung ⇒ kopieren. Erstellen Sie zunächst ein neues Maven-Projekt. Ich habe es devtest-heroku genannt. Wählen Sie als Architekturtyp "maven-archetype-webapp". Verschiedene Parameter sind so. Nach dem Erstellen werden wir einige Änderungen vornehmen.
Es heißt, dass der Projektordner / src / main / java und der Projektordner / src / test / java nicht vorhanden sind. Erstellen Sie sie daher physisch. Für Windows können Sie den Explorer verwenden.
Wenn Sie ein Maven-Projekt erstellen, ist der Standardwert Java5. Wählen Sie daher Java8 aus.
Vielleicht ist dieser Schritt nicht notwendig, aber ich verwende Tomcat 8 in meiner Umgebung, also habe ich diese Laufzeit hinzugefügt.
Dies ist auch Java 5, ändern Sie es also in Java 8.
Kopieren Sie nach dem Erstellen des Pakets: dev.local die Datei wie im Bild gezeigt.
Ich denke, dass die Dateien mit den folgenden Inhalten in der Phase der Erstellung des Maven-Projekts erstellt wurden:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dev.local</groupId>
<artifactId>devtest-heroku</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>devtest-heroku Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>devtest-heroku</finalName>
</build>
</project>
Wie nachstehend
pom.xml (nach Änderung)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dev.local</groupId>
<artifactId>devtest-heroku</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>devtest-heroku Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<build>
<finalName>devtest-heroku</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.github.jsimone</groupId>
<artifactId>webapp-runner</artifactId>
<version>9.0.11.0</version>
<destFileName>webapp-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Es scheint, dass es der Inhalt ist, der ausgeführt wird, wenn die Webanwendung auf der Heroku-Seite gestartet wird, und der Inhalt ist ein Java-Befehl. Dies ist in Ordnung, wenn es vor der Bereitstellung von Heroku erstellt wurde. Erstellen Sie direkt unter dem Projekt.
Procfile
web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war
Es wird die Build-Einstellung. Klicken Sie mit der rechten Maustaste auf pom.xml. ⇒ Ausführen ⇒ Wählen Sie Maven Build aus. Der folgende Bildschirm wird angezeigt. Stellen Sie wie in der roten Linie und im roten Rahmen gezeigt ein. Wenn Sie versuchen, es auszuführen und "BUILD SUCCESS" angezeigt wird, wird es einmal beendet.
Wenn der Build abgeschlossen ist, wird die War-Datei erstellt, daher werde ich versuchen, sie auf dem lokalen Tomcat abzulegen. Als ich es über den Browser aufrief, wurde es sicher angezeigt.
Befolgen Sie von hier aus die Schritte auf der Registerkarte "Bereitstellen" der Heroku-Administratorkonsole. Wenn der Git Push Heroku Master fertig ist, versuchen Sie den Heroku ps Befehl zu drücken. Überprüfen Sie den Status von Webapp. Greifen Sie mit einem Browser darauf zu. Wenn Folgendes angezeigt wird, ist der Vorgang abgeschlossen.
Vielen Dank, dass Sie sich bis zum Ende auf das schlechte Verfahren bezogen haben. Es kann direkt konvertiert werden, ohne ein neues Maven-Projekt zu erstellen, sodass es dort möglicherweise effizienter ist. Wenn sich die verschiedenen Versionen ändern, wird sich die Bewegung wieder ändern, daher denke ich, dass dies im Moment nur das Verfahren ist. Es wäre schön, ein Eclipse Heroku-Plug-In zu haben.
Recommended Posts