[Java] [Play Framework] Bis das Projekt mit Gradle gestartet wird

Als ich zum ersten Mal seit einigen Jahren versuchte, Play Framework zu berühren, gab es eine Änderung und ich wollte Gradle verwenden, also vergaß ich, bis ich ein Projekt mit Gradle startete. Ich werde es als Aufzeichnung aufbewahren. Play Framework ist ein Full-Stack-Webanwendungsframework, mit dem Sie mithilfe von Java oder Scala entwickeln können. Dieses Mal schreibe ich unter der Annahme eines Projekts in Java, das relativ einfach einzugeben ist.

Ziele in diesem Artikel

--Installieren Sie die Tools, die zur Verwendung des Play Framework erforderlich sind

Umgebung

Überblick

  1. [Erforderliche Werkzeuge installieren](# Erforderliche Werkzeuge installieren)
  2. Java
  3. sbt
  4. Gradle
  5. [Projekt erstellen](# Projekt erstellen)
  6. [Vorlagenprojekt erstellen](# Vorlagenprojekt erstellen)
  7. [Wenn Sie das Projekt in ein beliebiges Verzeichnis herunterladen möchten](#Wenn Sie das Projekt in ein beliebiges Verzeichnis herunterladen möchten)
  8. Starten Sie das Play Framework-Projekt mit Gradle (Starten Sie das Play Framework-Projekt mit #gradle).
  9. [build.gradle settings](#buildgradle settings)
  10. 1.3. Applying the plugin
  11. 3.1. Adding dependencies
  12. 4.1. Targeting a Play version
  13. 4.2. Configuring routes style
  14. [Auf Entwicklungsserver starten](# Auf Entwicklungsserver starten)

Installieren Sie die erforderlichen Werkzeuge

Java Wenn Sie die offiziell erforderlichen Umgebungsinformationen überprüfen (https://www.playframework.com/documentation/2.8.x/Requirements), wird "Java SE 1.8 oder höher" angezeigt, also die neueste Java-Version. Installieren Sie die Version.

brew cask install java

sbt Ein Build-Tool zum Erstellen von Anwendungen mit Java oder Scala. Die offiziellen erforderlichen Umgebungsinformationen (https://www.playframework.com/documentation/2.8.x/Requirements) enthalten eine Beschreibung von sbt. Installieren Sie sie daher ebenfalls.

brew install sbt

Gradle Es ist ein Build-Automatisierungssystem, das hauptsächlich auf Java und Scala abzielt und mithilfe von Plug-Ins verschiedene Frameworks und JVM-Sprachen unterstützen kann. Wenn Sie sich die offiziellen Plugin-Informationen (https://plugins.gradle.org/) ansehen, finden Sie Plugins wie Kotlin und Spring Boot. In Bezug auf Play Framework scheint es, dass bis zu Gradle 5 auf der Seite des Hauptgeräts unterstützt wurde, aber von Gradle 6 wurde es geändert, um mit einem Plug-In zu unterstützen. (Https://docs.gradle.org/current/userguide/play_plugin.html)

brew install gradle

Erstellen Sie ein Projekt

Bevor Sie damit beginnen, lesen Sie das Gradle Play Plugin Official. Die unterstützten Play Framework-Versionen werden aufgelistet. Derzeit (* 2019/12) werden nur bis zu 2.6 Serien von Play Framework unterstützt. Dieses Mal möchte ich es mit "2.6.25" erstellen, der endgültigen Version der 2.6-Serie.

Erstellen eines Vorlagenprojekts

Wenn Sie Erklärung zur offiziellen Erstellung neuer Projekte von Play Framework aktivieren, gibt es zwei Arten von Beschreibungen: "Java-Vorlage" und "Scala-Vorlage". .. Dieses Mal werde ich die "Java-Vorlage" verwenden, da ich die Entwicklung in Java anstrebe. …… Wenn Sie den beschriebenen Befehl jedoch so ausführen, wie er ist, wird die neueste Vorlage heruntergeladen und von Vorlagenprojekt auf Github erstellt. Ich werde am Ende. Dieses Mal erstellen wir es mit "2.6.25" anstelle des neuesten ("2.8.0" ab Dezember 2019), daher müssen wir den Zweig angeben. Als ich mich nach einer Möglichkeit umsah, einen Zweig anzugeben, fand ich eine Seite in der sbt-Formel, auf der der Parameter --branch erwähnt wurde. sbt - Giter8 parameters
Wechseln Sie im Terminal in ein beliebiges Verzeichnis und führen Sie den folgenden Befehl aus.

sbt new playframework/play-java-seed.g8 --branch 2.6.x

Nach einer Weile werden Sie auf dem Terminal nach den folgenden Elementen gefragt.

name [play-java-seed]:
organization [com.example]:

Sie können diese beiden mit der Eingabetaste überspringen, ohne sie einzugeben. Wenn Sie warten, bis der Vorgang abgeschlossen ist, wird direkt unter dem Verzeichnis ein Verzeichnis mit dem Namen "play-java-seed" erstellt und die Vorlagenprojekte in dieses Verzeichnis heruntergeladen.

Wenn Sie das Projekt in ein beliebiges Verzeichnis herunterladen möchten

Glaubst du nicht, dass du das bisher gemacht hast? "Ich möchte dieses Vorlagenprojekt mit einem anderen Projektnamen herunterladen." In einem solchen Fall können Sie es mit Ihrem bevorzugten Projektnamen erstellen, indem Sie die Option --name = [Projektname] verwenden. Diese Option wird in der Hilfe von Giter8 beschrieben, die intern vom Befehl sbt new verwendet wird. Giter8-How to use

Sie können das Vorlagenprojekt 2.6.x mit dem Projektnamen play-sample direkt unter einem beliebigen Verzeichnis herunterladen, indem Sie den folgenden Befehl ausführen.

sbt new playframework/play-java-seed.g8 --branch 2.6.x --name=play-sample

Starten Sie ein Play Framework-Projekt mit Gradle

build.gradle-Einstellungen

Wenn Sie Ihr Projekt erfolgreich erstellt haben, öffnen Sie es in der IDE. Ich werde diesmal nicht über IDEs sprechen, aber diejenigen, die in der Java-Entwicklung außer Android häufig verwendet werden, sind "ecipse" oder "IntelliJ IDEA". Wenn Sie das Projekt öffnen und überprüfen, finden Sie eine Datei mit dem Namen "build.gradle" direkt unter dem Projekt. Diese Datei ist eine Konfigurationsdatei zum Erstellen von Projekten in Gradle. Zum Zeitpunkt des Herunterladens handelt es sich um eine Gradle 5-basierte Einstellung, daher werden wir sie ändern, um das Gradle Play-Plugin zu unterstützen. Die Referenz zum Ändern der Einstellungen lautet "1.3. Anwenden des Plugins", "3.1. Hinzufügen von Abhängigkeiten", "4.1. Targeting a" in Gradle Play Plugin Official. Es gibt 4 Elemente: "Spielversion" und "4.2. Routenstil konfigurieren".

1.3. Applying the plugin Dies ist die Einstellung des Plug-Ins, das in Gradle geladen werden soll. Zum Zeitpunkt des Herunterladens lautet die Beschreibung wie folgt.

plugins {
    id 'play'
    id 'idea'
}

Das Element mit "id:" play "" ist die Einstellung zum Laden des Plug-Ins, das bis zu Gradle 5 verwendet wurde. Ändern Sie dies, um das Gradle Play Plugin wie folgt zu laden.

plugins {
    // id 'play'
    id 'org.gradle.playframework' version '0.9'
    id 'idea'
}

3.1. Adding dependencies Abhängige Bibliothekseinstellungen, die beim Erstellen eines Projekts verwendet werden. Zum Zeitpunkt des Herunterladens sind die Einstellungen wie folgt.

dependencies {
    play dependencyFor("com.typesafe.play:play-guice", scalaVersion, playVersion)
    play dependencyFor("com.typesafe.play:play-logback", scalaVersion, playVersion)
    play dependencyFor("com.typesafe.play:filters-helpers", scalaVersion, playVersion)
}

Die Wiedergabeunterstützung in Gradle ist verschwunden, und die Einstellungsmethode für abhängige Bibliotheken wurde geändert, indem Sie zum Gradle Play Plugin wechseln. Lesen Sie die offizielle Erklärung des Gradle Play Plugins und ändern Sie es, um die Bibliothek zu laden, die 2.6.25 entspricht.

dependencies {
//    play dependencyFor("com.typesafe.play:play-guice", scalaVersion, playVersion)
//    play dependencyFor("com.typesafe.play:play-logback", scalaVersion, playVersion)
//    play dependencyFor("com.typesafe.play:filters-helpers", scalaVersion, playVersion)
    implementation "commons-lang:commons-lang:2.6"
    implementation "com.typesafe.play:play-guice_2.12:2.6.25"
    implementation "ch.qos.logback:logback-classic:1.2.3"
    testImplementation "org.scalatestplus.play:scalatestplus-play_2.12:3.1.2"
}

Diesmal funktioniert es mit "2.6.25". Ändern Sie daher die Bibliotheksversion von "com.typesafe.play: play-guice" in "2.6.25" anstelle von "2.6.15", die vom offiziellen Gradle Play Plugin präsentiert wird. tun.

4.1. Targeting a Play version Dies ist die Einstellung der Play Framework-, Java- und Scala-Versionen, die auf die Erstellungszeit ausgerichtet werden sollen. Zum Zeitpunkt des Herunterladens sind die Einstellungen wie folgt.

def playVersion = "2.6.22"
def scalaVersion = System.getProperty("scala.binary.version", /* default = */ "2.12")

...

model {
    components {
        play {
            platform play: playVersion, scala: scalaVersion, java: '1.8'
            injectedRoutesGenerator = true

            sources {
                twirlTemplates {
                    defaultImports = TwirlImports.JAVA
                }
            }
        }
    }
}

Da das Format durch Wechseln zum Gradle Play Plugin geändert wurde, ändern Sie es gemäß der offiziellen Beschreibung des Gradle Play Plugins. Da die diesmal verwendete Version von Play Framework "2.6.25" ist, wird auch die Beschreibung von playVersion geändert.

def playVersion = "2.6.25"
def scalaVersion = System.getProperty("scala.binary.version", /* default = */ "2.12")

...

play {
    platform {
        playVersion=playVersion
        scalaVersion=scalaVersion
        javaVersion=JavaVersion.VERSION_13
    }
}

Ändern Sie die Einstellung des Parameters "javaVersion" entsprechend der zum Erstellen verwendeten Java-Version. Ab Dezember 2019 wird Java 13 installiert, wenn Sie beim Ausführen von "Brew Cask Install Java" keine Version angeben. Geben Sie daher die Versionsinformationen in JavaVersion.VERSION_13 an, die in Gradle definiert sind. Definitionsinformationen für andere Versionen finden Sie auf den folgenden Seiten der offiziellen Gradle-Referenz. JavaVersion (Gradle API 6.0.1)

4.2. Configuring routes style Legen Sie fest, ob das Routenformat für die Zuordnung der URL und des Controllers in Play Framework "StaticRoutesGenerator" oder "InjectedRoutesGenerator" lautet. In Play Framework 2.4 oder höher ist InjectedRoutesGenerator die Standardeinstellung. Fügen Sie die Einstellung daher wie folgt hinzu.

play {
    platform {
        playVersion=playVersion
        scalaVersion=scalaVersion
        javaVersion=JavaVersion.VERSION_13
    }
    injectedRoutesGenerator = true
}

Starten Sie auf dem Entwicklungsserver

Gehen Sie zurück zum Terminal und führen Sie den folgenden Befehl aus:

gradle runPlay

Wenn der Build erfolgreich ist und der Entwicklungsserver gestartet wurde, wird die folgende Anzeige angezeigt.

BUILD SUCCESSFUL in 1s
7 actionable tasks: 1 executed, 6 up-to-date

Waiting for changes to input files of tasks... (ctrl-d to exit)
<=============> 100% EXECUTING [1m 49s]
> IDLE

Wenn dies angezeigt wird, greifen Sie mit einem Browser auf http://127.0.0.1:9000 zu. Wenn ein solcher Bildschirm angezeigt wird, ist der Start erfolgreich.

スクリーンショット 2019-12-16 18.25.11.png

Recommended Posts

[Java] [Play Framework] Bis das Projekt mit Gradle gestartet wird
Beginnen Sie mit serverlosem Java mit dem leichtgewichtigen Framework Micronaut!
Erstellen eines Java-Projekts mit Gradle
[Gradle] Erstellen Sie ein Java-Projekt mit einer Konfiguration, die von der Konvention abweicht
Grundlegendes zum MVC-Framework mit serverseitiger Java 1/4 View
Grundlegendes zum MVC-Framework mit serverseitigem Java 3/4 Controller
Grundlegendes zum MVC-Framework mit dem serverseitigen Java 2/4 -Modell
Spielen Sie Framework2.5 (Java) -Tipps
Erste Schritte mit Gradle (bis Sie ein Java-Projekt erstellen und externe Bibliotheken in einer ausführbaren JAR kombinieren)
Beginnen Sie mit Gradle
Erstellen Sie mit Gradle ein Java-Multiprojekt
Erste Schritte mit Java Collection
Java zum Spielen mit Function
Erste Schritte mit Java Basics
Jetzt ist es an der Zeit, mit der Stream-API zu beginnen
Bis der Code ausgeführt wird
5. Tag von Java
Zurück zum Anfang, Erste Schritte mit Java ② Steueranweisungen, Schleifenanweisungen
Projektfacette Java Version 13 wird nicht unterstützt. Wie man damit umgeht
Ist die von Ihnen verwendete Version von Elasticsearch mit Java 11 kompatibel?
Doppelte Übermittlung von Maßnahmen mit Play Framework
Wo ist die Zeitzone von Javas LocalDateTime.now ()?
Überlegungen zum Java Persistence Framework 2017 (1)
Ich habe das Java-Framework "Quarkus" ausprobiert.
Was ist Thread-sicher (mit Java)
Folgen Sie dem Link mit Selen (Java)
Tweak Markdown mit Java Flexmark-Java
Bildverarbeitung: Spielen wir mit dem Bild
[Java: Memorandum] Bis der Zeilenvorschubcode CRLF in LF geändert wird
Erste Schritte mit Maven (bis Sie ein Java-Projekt erstellen und externe Bibliotheken in einer einzigen ausführbaren JAR kombinieren)
Erraten Sie das Java Persistence Framework 2017 (3) Reladomo
[Java] Erstellen Sie mit Gradle ein ausführbares Modul
Erste Schritte mit Ruby für Java-Ingenieure
Verwendung von BootStrap mit Play Framework
Die IntelliJ-Konsole ist während des Gradle-Projekts verstümmelt
CICS-Java-Anwendung ausführen- (3) Build-Management mit Gradle
Was ist das beste Lesen von Dateien (Java)
Einführung in Java ab 0 Teil 1
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Authentifizierungsfunktion mit Play Framework [Registrierung und Authentifizierung]
Was ist die Hauptmethode in Java?
Die Java EE Security API ist da!
Beginnen Sie mit der Funktionsweise von JVM GC
Post to Slack von Play Framework 2.8 (Java)
Einführung eines automatisierten Java-Tests mit JUnit 5 + Gradle
Versuchen Sie es mit der Wii-Fernbedienung in Java
Erläuterung, bis der ursprüngliche Antrag abgeschlossen ist
[Java] Ermitteln Sie das Datum mit der LocalDateTime-Klasse
Initialisieren Sie das Ruby-Array mit 0 für Java, dh setzen Sie den Standardwert auf 0
Bis Sie ein Java-Programm mit dem für Windows lokalen AWS SDK ausführen
Seien Sie vorsichtig mit Anfragen und Antworten, wenn Sie das Serverless Framework mit Java verwenden