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.
--Installez les outils nécessaires pour utiliser Play Framework
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
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.
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é.
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
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
}
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.
Recommended Posts