JavaRush /Java-Blog /Random-DE /Einrichten einer lokalen Umgebung für die Java EE-Entwick...
zor07
Level 31
Санкт-Петербург

Einrichten einer lokalen Umgebung für die Java EE-Entwicklung

Veröffentlicht in der Gruppe Random-DE
In diesem Artikel richten wir eine Arbeitsumgebung zum Ausführen von Java EE-Anwendungen ein. Ich möchte Sie daran erinnern: Im vorherigen Material haben wir die Grundlagen von Java EE behandelt . Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 1Unter Umgebung verstehen wir eine Reihe verschiedener Softwarekomponenten:
  • Java EE SDK;
  • Java EE-Anwendungsserver GlassFish;
  • Einrichten von IntelliJ IDEA.
Die Hauptziele dieses Materials:
  1. Zeigen Sie, wie Sie eine Arbeitsumgebung für die Arbeit mit Java EE-Anwendungen vorbereiten können.
  2. Zeigen Sie, wie Sie Java EE-Anwendungen von IntelliJ IDEA auf dem GlassFish-Server bereitstellen und ausführen können.
Folgendes werden wir dafür tun:
  1. Laden Sie das Java EE 7 SDK herunter und installieren Sie es.
  2. Lassen Sie uns den Java EE Application Server GlassFish erstellen.
  3. Erfahren Sie, wie Sie den Server über die Befehlszeile starten und stoppen.
  4. Lassen Sie uns IntelliJ IDEA so konfigurieren, dass Anwendungen auf diesem Server bereitgestellt werden.
  5. Lassen Sie uns die Demoanwendung bereitstellen und ausführen, die zusammen mit dem GlassFish-Anwendungsserver im Java EE 7 SDK enthalten ist.
Dieser Artikel wird für unerfahrene Java-Entwickler nützlich sein, die sich mit der Unternehmensentwicklung in Java vertraut machen. Betrachten Sie dies als eine kleine Vorbereitung des Bodens für die weitere Praxis. Sie werden das Material verstehen, wenn Sie mit grundlegenden Windows-Befehlszeilenkenntnissen (PowerShell) vertraut sind. Versionen der in diesem Artikel verwendeten Softwarekomponenten:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimate);
  • Java EE SDK 7.

Java EE SDK installieren

Wichtiger Zustand. Bevor Sie das Java EE SDK installieren, müssen Sie sicherstellen, dass das Java SE SDK vorinstalliert ist.
  1. Zuerst müssen wir das SDK herunterladen. Dazu können Sie in eine Suchmaschine eingeben: „Java EE SDK 7“ oder direkt zur SDK-Download-Seite von der Oracle-Website gehen.

  2. Aus der Liste der bereitgestellten SDKs müssen Sie das für Ihre Plattform geeignete auswählen. Der Artikel beschreibt die Installation der Distribution: „java_ee_sdk-7-jdk7-windows-x64-ml.exe“

  3. Führen Sie die Installationsdatei aus. Beim Start kann folgender Fehler auftreten (falls er nicht auftritt, können Sie einfach mit der Installation fortfahren):

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 2

    Das bedeutet, dass das Installationsprogramm den Pfad zur vorinstallierten Java Runtime Environment nicht finden konnte. Der Fehler kann behoben werden, indem der Pfad zur JRE manuell über die Befehlszeile übergeben wird. Dazu müssen Sie die Installationsdatei über PowerShell ausführen und über den Parameter -j den Pfad zur vorinstallierten JRE übergeben.

    Zum Beispiel so:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 3
  4. Der weitere Installationsvorgang ist für die meisten Programme recht typisch. Sie müssen lediglich auf die Schaltflächen „Weiter“ und „Installieren“ klicken.

    Das Programm installiert das Java EE SDK sowie den GlassFish-Server, der nach Abschluss der Installation einsatzbereit ist.

  5. Um sicherzustellen, dass der GlassFish-Server funktioniert, können Sie nach Abschluss der Installation das Server-Admin-Panel öffnen, das unter http://localhost:4848/ verfügbar ist.

    Screenshot unten:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 4

Starten und Stoppen von GlassFish über die Befehlszeile

Der Server ist also betriebsbereit, der Serverstart wurde jedoch vom Installationsprogramm initiiert. Im Folgenden versuchen wir herauszufinden, wie Sie den Server selbst starten und stoppen können. Lassen Sie uns zunächst eine solche Entität als Domäne offenbaren. Eine Domäne ist eine Gruppe von einer oder mehreren GlassFish-Serverinstanzen, die von einem Verwaltungsserver verwaltet werden. Bei der Installation des GlassFish-Servers wird eine Standarddomäne erstellt – domain1. Folgende Komponenten sind damit verbunden:
  • Server-Port (Standard 8080);
  • Port des Administrationsservers (Standard 4848);
  • Benutzername und Passwort des Administrators (Standard ist admin und standardmäßig ist kein Passwort erforderlich).
Der Domäne1 sind Standardwerte zugewiesen. Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 5Zum Starten und Stoppen des Servers enthält die GlassFish-Distribution mehrere Skripte, die sich standardmäßig im folgenden Verzeichnis befinden: C:\glassfish4\glassfish\bin Um den GlassFish-Server über die Befehlszeile zu starten und zu stoppen, können Sie das Skript asadmin verwenden und seine Befehle:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Versuchen wir, den Server zu stoppen (da er nach der Installation bereits läuft), indem wir PowerShell aus dem Unterverzeichnis C:\glassfish4\glassfish\bin ausführen : Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 6Der Server wird gestoppt. Lassen Sie es uns jetzt ausführen: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 7

Wir analysieren die erste Java EE-Anwendung, Dukes-Age

Als nächstes schauen wir uns eine Demo-Java-EE-Anwendung an: Dukes-Age. Diese Anwendung ist zusammen mit der First-Cup-Anwendung im Java EE SDK enthalten. Beschreibungen dieser Anwendungen finden Sie auf der offiziellen Oracle-Dokumentationswebsite in den Abschnitten 3 und 4 des Einführungskurses zu Java EE für Java-EE-Anfänger-Entwickler . In diesem Artikel werfen wir einen kurzen Blick auf die Dukes-Age-Anwendung und untersuchen den Prozess des Startens dieser Anwendung auf dem GlassFish-Server aus der IntelliJ IDEA-Entwicklungsumgebung genauer. Die Anwendung befindet sich im Glassfish-Serververzeichnis. Wenn Sie den Standardpfad für den Glassfish-Server bei der Installation des Java EE SDK nicht geändert haben, finden Sie diese Anwendung im Ordner: C:\glassfish4\docs\firstcup\example\dukes-age . Wahrscheinlich hat jeder Java-Entwickler, ob Anfänger oder erfahren, mindestens einmal das Maskottchen der Programmiersprache Java gesehen – Duke: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 8Nur wenige wissen, dass Duke Geburtstag hat. Er wurde am 23. Mai 1995 geboren, als die erste Demoversion der Java-Technologie veröffentlicht wurde. Die Dukes-Age-App liefert, wie der Name schon sagt, Informationen über Dukes Alter. Öffnen wir diese Anwendung in IntelliJ IDEA: Datei -> Neu -> Projekt aus vorhandenen Quellen... Gehen Sie dann zum Ordner mit der Dukes-Age-Anwendung, der sich standardmäßig unter C:\glassfish4\docs\firstcup\example\dukes- befindet. Alter , wählen Sie die Datei pom.xml aus und klicken Sie auf OK: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 9Eine Anwendung mit der folgenden Struktur wird geöffnet: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 10Werfen wir einen Blick auf den Klassencode DukesAgeResource:
package firstcup.dukesage.resource;

import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

/**
 * REST Web Service
 *
 */
@Path("dukesAge")
public class DukesAgeResource {

    /** Creates a new instance of DukesAgeResource */
    public DukesAgeResource() {
    }

    /**
     * Retrieves representation of an instance of DukesAgeResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces("text/plain")
    public String getText() {
        // Create a new Calendar for Duke's birthday
        Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
        // Create a new Calendar for today
        Calendar now = GregorianCalendar.getInstance();

        // Subtract today's year from Duke's birth year, 1995
        int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
        dukesBirthday.add(Calendar.YEAR, dukesAge);

        // If today's date is before May 23, subtract a year from Duke's age
        if (now.before(dukesBirthday)) {
            dukesAge--;
        }
        // Return a String representation of Duke's age
        return "" + dukesAge;
    }
}
Dies ist ein JAX-RS RESTful-Webdienst mit einer Methode – getText(). Wenn Sie den Code dieser Methode untersuchen, wird deutlich, dass die Methode die Anzahl der Jahre zurückgibt, die seit Dukes Geburt vergangen sind. Das heißt, die Methode gibt Dukes Alter zurück. Eine Klasse ist eine Ressource in einem REST-Kontext.
  1. Die Annotation über der Klasse @Path("dukesAge")definiert den URI-Pfad, zu dem Aufrufe von dieser Klasse verarbeitet werden.
  2. Die Anmerkung über der Methode @GETsagt uns, dass diese Methode GET-Anfragen verarbeitet.
  3. Die Annotation @Produces("text/plain")gibt den Medientyp der Antwort auf die Anfrage an. Es ist nicht schwer zu erraten, dass die Methode getText()Antworten mit dem Medientyp Text/Plain generiert.
Schauen wir uns auch die Konfigurationsdatei web.xml an:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>
In dieser Datei wird innerhalb des Tags servlet-mappingein Tag url-patternmit dem Wert definiert /webapi/*. Hier wird ein bestimmter Wurzelpunkt definiert, dessen Aufrufe vom Dienst weiterverarbeitet werden. In Kombination mit der Anmerkung @Path("dukesAge")stellt sich heraus, dass Sie die Adresse /webapi/dukesAge kontaktieren müssen, um Informationen über Dukes Alter zu erhalten.

Einrichten von IntelliJ IDEA zum Ausführen einer Java EE-Anwendung auf einem GlassFish-Server

Nachdem wir nun eine sehr allgemeine Vorstellung von der Dukes-Age-Anwendung haben (lesen Sie mehr darüber auf der Oracle-Website ), konfigurieren wir IntelliJ IDEA so, dass wir diese Anwendung von unserer IDE aus ausführen können. Einrichten von IntelliJ IDEA
  1. Gehen Sie dazu in das Menü Ausführen -> Konfigurationen bearbeiten.
  2. Das Fenster „Konfigurationen ausführen/debuggen“ wird geöffnet: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 11
  3. Wir müssen eine neue Konfiguration hinzufügen. Klicken Sie dazu auf das Pluszeichen oder verwenden Sie die Tastenkombination Alt+Einfügen. Wählen Sie in der sich öffnenden Liste GlassFish Server -> Lokal aus: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 12
  4. Beginnen wir im sich öffnenden Fenster mit dem Einrichten der Konfiguration: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 13
  5. Der nächste Schritt besteht darin, die Artefakte anzugeben, die auf dem Server bereitgestellt werden müssen. Dies kann über die Registerkarte „Bereitstellung“ erfolgen, indem Sie auf das Pluszeichen -> Artefakt... klicken. Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 14
  6. Wählen Sie „dukes-age:war“ und klicken Sie auf „OK“: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 15
  7. Speichern Sie als Nächstes unsere Konfiguration, indem Sie auf Übernehmen und dann auf OK klicken.
Die Konfiguration wurde erstellt!

Starten der Anwendung

Versuchen wir nun, die Anwendung auszuführen.
  1. Dazu können Sie die Tastenkombination Alt+Umschalt+F10 oder über das Menü Ausführen -> Ausführen... verwenden.

    Und wählen Sie die von uns erstellte Dukes-Age-Konfiguration aus:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 16

  2. Danach sehen wir die Startprotokolle im Dienstebereich:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 17
  3. Wenn dann alles nach Anleitung gemacht wird, öffnet sich der Browser und es wird klar, dass nichts funktioniert:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 18
So ist die IT-Welt. Selbst wenn alles richtig gemacht wird, kann es sein, dass etwas nicht funktioniert. Aber keine Sorge: Man könnte sofort beschreiben, wie man es richtig macht, aber dann wären einige Nuancen weniger offensichtlich. Wie wird beispielsweise die URL generiert, zu der IDEA uns beim Starten der Anwendung weiterleitet? Achten wir darauf. Wir wurden zu http://localhost:8080/dukes-age-7.0.1/ weitergeleitet . Um zu verstehen, woher das kommt (/dukes-age-7.0.1/), gehen wir zum Admin-Panel des GlassFish-Servers. Klicken Sie im linken Menü auf Anwendungen. Als nächstes sehen Sie bereitgestellte Anwendungen, einschließlich Dukes-Age. Wenn Sie die Dukes-Age-Anwendung auswählen, können Sie einige ihrer Merkmale sehen, einschließlich des Kontext-Root-Elements: Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 19Dukes-Age-7.0.1 ist der Name und die Version der Anwendung. Wurzelpunkt. Alle Anfragen, die dukes-age verarbeitet, müssen mit dem Präfix /dukes-age-7.0.1/ beginnen. Wir haben also einen Wurzelpunkt: /dukes-age-7.0.1. Außerdem haben wir zuvor besprochen, dass unsere Anwendung Anfragen an /webapi/dukesAge verarbeiten wird. Lassen Sie uns diese beiden Dinge kombinieren und unsere Konfiguration aktualisieren.
  1. Gehen wir dazu zurück zu IntelliJ IDEA und dann zum Menü: Ausführen -> Konfigurationen bearbeiten ...

  2. Wählen wir die zuvor gespeicherte Konfiguration aus und aktualisieren Sie die URL gemäß dem Screenshot unten:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 20
  3. Speichern wir die Konfiguration und starten Sie unsere Anwendung mit der Tastenkombination Strg+Umschalt+F10 oder einer speziellen Schaltfläche im Bereich „Dienste“ neu:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 21
  4. Wenn nach dem Neustart alles richtig gemacht wurde, sehen wir Dukes Alter:

    Einrichten einer lokalen Umgebung für die Java EE-Entwicklung – 22
Großartig. Endlich haben wir herausgefunden, dass Duke 24 Jahre alt ist. Wenn Sie nicht alle oben beschriebenen Schritte innerhalb der nächsten Monate, beginnend im April 2020, wiederholen, wird Duke wahrscheinlich etwas altern.

Abschluss

In diesem Artikel haben wir uns am Beispiel des GlassFish 4.0-Servers, der Entwicklungsumgebung IntelliJ IDEA 2019.3.1 (Ultimate) sowie des Java EE SDK Version 7 angesehen, wie Sie Ihre lokale Umgebung für die Arbeit mit Java EE-Anwendungen konfigurieren können. Wir haben uns angeschaut, wie Sie Folgendes erreichen können:
  • Laden Sie das Java EE SDK sowie den GlassFish-Server herunter und installieren Sie es.
  • Stoppen und starten Sie den GlassFish-Server über PowerShell;
  • Konfigurieren Sie IntelliJ IDEA so, dass Sie Java EE-Anwendungen von der IDE auf dem GlassFish-Server bereitstellen und sofort starten können.

Bonusaufgabe

  1. Wiederholen Sie alle beschriebenen Schritte selbst.
  2. Nehmen Sie an einem Einführungskurs zu Java EE für Java-EE-Anfänger von Oracle teil .
  3. Artikel mit einem Sternchen. Versuchen Sie, die zweite First-Cup-Demoanwendung selbst bereitzustellen. Diese Anwendung ist interaktiver und interagiert auch mit der Dukes-Age-Anwendung. Um diesen Schritt abzuschließen, müssen Sie die folgenden Fragen selbstständig verstehen:
    1. So aktivieren Sie die Datenbank im glassFish-Server;
    2. So integrieren Sie zwei Anwendungen miteinander (in First-Cup wird der Pfad zum Dukes-Age-Endpunkt angegeben, den wir in diesem Artikel besprochen haben);
    3. So erstellen Sie eine neue Konfiguration in Intellij IDEA für die Erstbereitstellung (ähnlich wie in diesem Artikel gezeigt);
    4. Eventuell noch viele weitere Fragen)
PS: Die Eintrittsbarriere ist hoch, aber ist das nicht Ihre Motivation?
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION