[Java] [Play Framework] Jusqu'à ce que le projet soit démarré avec Gradle

Quand j'ai essayé de toucher Play Framework pour la première fois depuis quelques années, il y a eu un changement et je voulais utiliser Gradle, alors j'ai oublié jusqu'à ce que je lance un projet utilisant Gradle. Je vais le garder comme un disque. Play Framework est une infrastructure d'application Web complète qui vous permet de développer à l'aide de Java ou de Scala. Cette fois, j'écris en supposant un projet en Java relativement facile à saisir.

Objectifs de cet article

--Installez les outils nécessaires pour utiliser Play Framework

environnement

Aperçu

  1. [Installer les outils requis](#Installer les outils requis)
  2. Java
  3. sbt
  4. Gradle
  5. [Créer un projet](#Créer un projet)
  6. [Créer un projet de modèle](#Create Template Project)
  7. [Lorsque vous souhaitez télécharger le projet dans n'importe quel répertoire](#Lorsque vous souhaitez télécharger le projet dans n'importe quel répertoire)
  8. Lancez le projet Play Framework en utilisant Gradle (Lancez le projet play-framework en utilisant #gradle)
  9. [paramètres build.gradle](paramètres #buildgradle)
  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. [Démarrer sur le serveur de développement](# Démarrer sur le serveur de développement)

Installez les outils requis

Java Si vous vérifiez les informations officielles requises sur l'environnement (https://www.playframework.com/documentation/2.8.x/Requirements), il est indiqué «Java SE 1.8 ou supérieur», donc la dernière version de Java. Installez la version.

brew cask install java

sbt Un outil de construction utilisé pour créer des applications à l'aide de Java ou Scala. Il y a une description de sbt dans les informations officielles requises sur l'environnement (https://www.playframework.com/documentation/2.8.x/Requirements), alors installez-la également.

brew install sbt

Gradle Il s'agit d'un système d'automatisation de construction qui cible principalement Java et Scala, et peut prendre en charge divers frameworks et langages JVM à l'aide de plug-ins. Si vous regardez les informations officielles du plugin (https://plugins.gradle.org/), vous trouverez des plugins comme kotlin et Spring boot. En ce qui concerne Play Framework, il semble que jusqu'à Gradle 5 était pris en charge du côté de l'unité principale, mais à partir de Gradle 6, il a été changé pour prendre en charge un plug-in. (Https://docs.gradle.org/current/userguide/play_plugin.html)

brew install gradle

Créer un projet

Avant de commencer, consultez le Gradle Play Plugin Official. Les versions de Play Framework prises en charge sont répertoriées. En fait, pour le moment (* 2019/12), seules les séries 2.6 de Play Framework sont prises en charge. Donc, cette fois, je vise à le créer avec 2.6.25 qui est la version finale de la série 2.6.

Créer un projet modèle

Si vous cochez Play Framework Official New Project Creation Explanation, il existe deux types de descriptions, Java template et Scala template. .. Cette fois, j'utiliserai le modèle Java car je vise le développement en Java. …… Mais si vous exécutez la commande décrite telle quelle, le dernier modèle sera téléchargé et créé à partir du Projet de modèle sur Github. Je vais finir. Cette fois, nous allons le créer avec 2.6.25 au lieu du dernier ( 2.8.0 en décembre 2019), nous devons donc spécifier la branche. En cherchant un moyen de spécifier une branche, j'ai trouvé une page dans la formule sbt mentionnant le paramètre --branch. sbt - Giter8 parameters
Dans le terminal, accédez à n'importe quel répertoire et exécutez la commande suivante.

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

Après un certain temps, il vous sera demandé les éléments suivants dans l'ordre sur le terminal.

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

Vous pouvez ignorer ces deux avec Entrée tels quels sans les entrer. Si vous attendez que le processus soit terminé, un répertoire avec le nom play-java-seed sera créé directement sous le répertoire, et l'ensemble des projets modèles y sera téléchargé.

Lorsque vous souhaitez télécharger le projet dans n'importe quel répertoire

Tu ne penses pas que c'est ce que tu fais jusqu'ici? "Je souhaite télécharger ce modèle de projet avec un nom de projet différent" Dans ce cas, vous pouvez le créer avec le nom de votre projet préféré en utilisant l'option --name = [nom du projet]. Cette option est décrite dans l'aide de Giter8 utilisé en interne par la commande sbt new. Giter8-Comment utiliser

Vous pouvez télécharger le projet modèle «2.6.x» avec le nom du projet «play-sample» directement sous n'importe quel répertoire en exécutant la commande suivante.

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

Lancer un projet Play Framework à l'aide de Gradle

paramètres build.gradle

Une fois que vous avez créé votre projet avec succès, ouvrez-le dans l'EDI. Je ne parlerai pas des IDE cette fois, mais ʻecipse ou ʻIntelliJ IDEA sont souvent utilisés dans le développement Java autre qu'Android. Si vous ouvrez le projet et le vérifiez, vous trouverez un fichier appelé build.gradle directement sous le projet. Ce fichier est un fichier de configuration pour la création de projets dans Gradle. Au moment du téléchargement, il s'agit d'un paramètre basé sur Gradle 5, nous allons donc le modifier pour prendre en charge le plugin Gradle Play. La référence pour modifier les paramètres est "1.3. Application du plugin", "3.1. Ajout de dépendances", "4.1. Ciblage d'un" dans Gradle Play Plugin Official. Il y a 4 éléments, "Play version" et "4.2. Configurer le style des routes".

1.3. Applying the plugin Il s'agit du paramètre du plug-in à charger dans Gradle. Au moment du téléchargement, la description est la suivante.

plugins {
    id 'play'
    id 'idea'
}

ʻId: L'élément marqué'play'` est le paramètre pour charger le plug-in qui a été utilisé jusqu'à Gradle 5. Modifiez ceci pour charger le plugin Gradle Play comme suit.

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

3.1. Adding dependencies Paramètres de bibliothèque dépendants utilisés lors de la création d'un projet. Au moment du téléchargement, les paramètres sont les suivants.

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)
}

La prise en charge de la lecture dans Gradle a disparu et la méthode de paramétrage des bibliothèques dépendantes a été modifiée en passant à Gradle Play Plugin. Reportez-vous à l'explication officielle de Gradle Play Plugin et changez-la pour charger la bibliothèque correspondant à 2.6.25.

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"
}

Cette fois, cela fonctionne avec 2.6.25, alors changez la version de la bibliothèque de com.typesafe.play: play-guice en 2.6.25 au lieu de 2.6.15 présentée par le plugin officiel Gradle Play. Faire.

4.1. Targeting a Play version Il s'agit du paramètre des versions Play Framework, Java et Scala à cibler au moment de la construction. Au moment du téléchargement, les paramètres sont les suivants.

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
                }
            }
        }
    }
}

Étant donné que le format a été modifié en passant à Gradle Play Plugin, changez-le selon la description officielle de Gradle Play Plugin. De plus, comme la version de Play Framework utilisée cette fois-ci est «2.6.25», la description de playVersion sera également modifiée.

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
    }
}

Modifiez le paramètre du paramètre javaVersion en fonction de la version de Java utilisée pour la construction. À partir du 12/12/2019, Java 13 sera installé si vous ne spécifiez pas la version lors de l'exécution de brew cask install java. Par conséquent, spécifiez les informations de version dans JavaVersion.VERSION_13 défini dans Gradle. Les informations de définition pour les autres versions peuvent être trouvées sur les pages suivantes de la référence officielle Gradle. JavaVersion (Gradle API 6.0.1)

4.2. Configuring routes style Définissez si le format des routes utilisées pour associer l'URL et le contrôleur dans Play Framework est StaticRoutesGenerator ou ʻInjectedRoutesGenerator. Depuis "2.4" ou version ultérieure de Play Framework, ʻInjectedRoutesGenerator est le paramètre par défaut, ajoutez le paramètre comme suit.

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

Démarrez sur le serveur de développement

Revenez au terminal et exécutez la commande suivante:

gradle runPlay

Lorsque la génération est réussie et que le serveur de développement est démarré, l'affichage suivant s'affiche.

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

Lorsque ceci est affiché, accédez à http://127.0.0.1:9000 avec un navigateur. Si un tel écran s'affiche, le démarrage est réussi.

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

Recommended Posts

[Java] [Play Framework] Jusqu'à ce que le projet soit démarré avec Gradle
Commencez avec Java sans serveur avec le framework léger Micronaut!
Construire un projet Java avec Gradle
[Gradle] Construisez un projet Java avec une configuration différente de la convention
Comprendre le framework MVC avec Java 1/4 View côté serveur
Comprendre le framework MVC avec le contrôleur Java 3/4 côté serveur
Comprendre le framework MVC avec le modèle Java 2/4 côté serveur
Conseils pour Play Framework2.5 (Java)
Premiers pas avec Gradle (jusqu'à ce que vous créiez un projet Java et combiniez des bibliothèques externes en un seul JAR exécutable)
Commencez avec Gradle
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
Java pour jouer avec Function
Premiers pas avec les bases de Java
Il est maintenant temps de commencer avec l'API Stream
Jusqu'à ce que le code soit exécuté
5ème jour de Java
Revenir au début, démarrer avec Java ② Instructions de contrôle, instructions de boucle
Project facet Java version 13 n'est pas pris en charge. Comment faire avec
La version d'Elasticsearch que vous utilisez est-elle compatible avec Java 11?
Double soumission de mesures avec Play Framework
Où est le fuseau horaire de Java LocalDateTime.now ()?
Considération sur le framework de persistance Java 2017 (1)
J'ai essayé le framework Java "Quarkus"
Qu'est-ce que Thread Safe (avec Java)
Suivez le lien avec Selenium (Java)
Tweak Markdown avec Java flexmark-java
Traitement d'image: jouons avec l'image
[Java: Memorandum] Jusqu'à ce que le code de saut de ligne CRLF soit changé en LF
Premiers pas avec Maven (jusqu'à ce que vous créiez un projet Java et combiniez des bibliothèques externes en un seul JAR exécutable)
Devinez le cadre de persistance Java 2017 (3) Reladomo
[Java] Créer un module exécutable avec Gradle
Premiers pas avec Ruby pour les ingénieurs Java
Comment utiliser BootStrap avec Play Framework
La console IntelliJ est déformée pendant le projet Gradle
Application Java CICS-Run - (3) Gestion de build avec Gradle
Quelle est la meilleure lecture de fichier (Java)
Introduction à Java à partir de 0 Partie 1
Construction de l'environnement Play Framework 2.6 (Java) avec Eclipse
Fonction d'authentification avec Play Framework [Enregistrement et authentification]
Quelle est la méthode principale en Java?
L'API de sécurité Java EE est là!
Démarrez avec le fonctionnement de JVM GC
Publier sur Slack à partir de Play Framework 2.8 (Java)
Présentation du test Java automatisé avec JUnit 5 + Gradle
Essayez d'utiliser la télécommande Wii en Java
Explication jusqu'à ce que la demande originale soit terminée
[Java] Obtenez la date avec la classe LocalDateTime
Initialiser le tableau Ruby avec 0 comme Java, c'est-à-dire définir la valeur par défaut sur 0
Jusqu'à ce que vous exécutiez un programme Java avec le SDK AWS local sur Windows
Soyez prudent avec les demandes et les réponses lors de l'utilisation de Serverless Framework avec Java