Jetty
Le plugin Maven Jetty exécute l'application dans un serveur Jetty intégré directement à partir du projet. Un projet archétype définit compile webforj:watch jetty:run comme son objectif Maven par défaut, donc mvn sans arguments compile l'application, démarre le frontend watch, et sert l'application sur Jetty.
Exigences
Un projet Jetty déclare lui-même les outils de développement, dans le profil utilisé pour les exécutions de développement :
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-devtools</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
La version provient du Bill of Materials (BOM) webforJ. Le profil maintient la dépendance hors du war packagé. Un projet créé à partir d'un archétype a ce profil.
Activer le rechargement en direct
webforj.devtools.livereload.enabled = true
Les clés sont les mêmes que celles qu'une application Spring Boot définit dans application.properties, répertoriées dans les paramètres.
Changements de classe
Avec un outil de hotswap configuré, l'outil applique les modifications de classe et Jetty ne redéploie rien. Deux propriétés Jetty soutiennent cela, et un projet archétype définit les deux :
scanest0, ce qui désactive le scan de fichiers de Jetty.deployModereste non défini. Hotswap nécessite le mode forké, et le plugin le sélectionne. Une construction qui définitdeployModeà une autre valeur démarre sans l'outil et le journalise.
Sans un outil de hotswap, réglez scan sur un intervalle en secondes et Jetty redéploiera l'application lorsque les classes ou ressources compilées changent :
| Propriété | Description | Par défaut |
|---|---|---|
scan | Intervalle en secondes entre les scans de la sortie compilée, défini comme la propriété jetty.scan. 0 désactive le scan. Des intervalles plus longs diminuent la charge et retardent le redéploiement. | 1 |
Considérations d'utilisation
- Mémoire et CPU : de faibles valeurs
scanaugmentent la consommation de ressources sur de grands projets. Des intervalles plus longs la diminuent et retardent le redéploiement. - Développement uniquement : le plugin Jetty n'est pas destiné aux déploiements en production.
- Sessions : un redéploiement peut supprimer les sessions utilisateur. Un outil de hotswap applique les modifications sans redéploiement, et la session survit.