[JAVA] Stellen Sie ein Tomcat-basiertes Eclipse-Projekt für Heroku bereit

Vorwort

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.

Vorbereitungen

・ Plejaden in einer Eclipse-Version 2018-09 (kompatibel mit Eclipse SimRel 2018-09) ・ Heroku

Vorbereitung auf der Heroku-Seite

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. devtest_heroku02.png Gehen Sie dann zur Registerkarte Einstellungen devtest_heroku03.png Geben Sie das Build Pack an. devtest_heroku04.png Diesmal ist es Java. devtest_heroku05.png Hinzugefügt. devtest_heroku06.png

In Mave-Projekt konvertieren

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. devtest_heroku07.png Wählen Sie als Architekturtyp "maven-archetype-webapp". devtest_heroku08.png Verschiedene Parameter sind so. devtest_heroku09.png Nach dem Erstellen werden wir einige Änderungen vornehmen.

Pfadkorrektur erstellen

devtest_heroku10.png 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.

JRE ändert sich

devtest_heroku11.png Wenn Sie ein Maven-Projekt erstellen, ist der Standardwert Java5. Wählen Sie daher Java8 aus.

Server-Laufzeit hinzufügen

devtest_heroku12.png devtest_heroku13.png devtest_heroku14.png Vielleicht ist dieser Schritt nicht notwendig, aber ich verwende Tomcat 8 in meiner Umgebung, also habe ich diese Laufzeit hinzugefügt.

Projektfacette ändern

Dies ist auch Java 5, ändern Sie es also in Java 8. devtest_heroku15.png devtest_heroku16.png

Kopie des Quellcodes

Kopieren Sie nach dem Erstellen des Pakets: dev.local die Datei wie im Bild gezeigt. devtest_heroku17.png

Ändern Sie pom.xml

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>

Procfile erstellen

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

Maven-Projekt erstellen

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. devtest_heroku18.png Wenn Sie versuchen, es auszuführen und "BUILD SUCCESS" angezeigt wird, wird es einmal beendet. devtest_heroku19.png

Versuchen Sie es auf Tomcat

Wenn der Build abgeschlossen ist, wird die War-Datei erstellt, daher werde ich versuchen, sie auf dem lokalen Tomcat abzulegen. devtest_heroku20.png Als ich es über den Browser aufrief, wurde es sicher angezeigt. devtest_heroku21.png

In Heroku bereitstellen

Befolgen Sie von hier aus die Schritte auf der Registerkarte "Bereitstellen" der Heroku-Administratorkonsole. devtest_heroku22.png Wenn der Git Push Heroku Master fertig ist, versuchen Sie den Heroku ps Befehl zu drücken. Überprüfen Sie den Status von Webapp. devtest_heroku23.png Greifen Sie mit einem Browser darauf zu. Wenn Folgendes angezeigt wird, ist der Vorgang abgeschlossen. devtest_heroku24.png

Am Ende

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

Stellen Sie ein Tomcat-basiertes Eclipse-Projekt für Heroku bereit
Stellen Sie die Kriegsdatei auf Heroku bereit
Stellen Sie eine Java-Web-App für Heroku bereit
[Java] Stellen Sie eine mit Eclipse + Maven + Ontology mit Heroku erstellte Webanwendung bereit
Wie man mit Heroku einsetzt
So stellen Sie eine einfache Java-Servlet-App auf Heroku bereit
Erstellen Sie ein Tomcat-Projekt mit Eclipse
Erstellen Sie ein Java-Projekt mit Eclipse
Stellen Sie das Docker-Image von Flask in Heroku bereit
Stellen Sie Rails on Docker für Heroku bereit
Heroku entfalten
Ein Memorandum zur Verwendung von Eclipse
Importieren Sie ein Nablarch-Beispielprojekt auf Github in Eclipse
Stellen Sie die Spring Boot-Anwendung für Elastic Beanstalk bereit
Bereitstellen von einem lokalen Docker-Image auf Heroku
[CentOS, Eclipse] Lädt Bibliotheksdateien in C-Projekt
Stellen Sie das Spring Boot-Projekt in XAMPP für Tomcat bereit
Eclipse ~ Java-Projekterstellung ~
Schritte zur Bereitstellung in Heroku
Wir stellen Bugsnag Heroku vor
Stellen Sie RAILS auf EC2 bereit
Yay! Ich bin auf Heroku!
Verwenden Sie Corretto 11 mit Heroku
Fehlerbehebung bei Heroku
Eine Sammlung von Befehlen, die häufig in Heroku verwendet werden
Erstellen Sie in Eclipse eine Basis für Ihr Stapelverarbeitungsprojekt.
Importieren Sie Maven-Projekte programmgesteuert aus Ihrem eigenen Eclipse-Plug-In
Erstellen Sie ein Tomcat-Projekt mit Eclipse Pleiades All in One
So stellen Sie eine Kotlin (Java) -App auf AWS fargate bereit
So stellen Sie die Rails-Anwendung in AWS bereit (Artikelzusammenfassung)