Projets Existants
Un projet qui se déploie avec le plugin d'installation obsolète webforJ passe à BBjShip avec une exécution d'OpenRewrite. L'exécution modifie le pom.xml et le webforj.conf du projet. Le code Java, les feuilles de style et les ressources restent inchangés.
Migrer avec OpenRewrite
Ajoutez le plugin Maven OpenRewrite à votre pom.xml, avec la recette webforJ 26.03 :
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>6.36.0</version>
<configuration>
<activeRecipes>
<recipe>com.webforj.rewrite.v26.UpgradeWebforj_26_03</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-rewrite</artifactId>
<version>26.03</version>
</dependency>
</dependencies>
</plugin>
Exécutez la migration, puis examinez ce qui a changé :
mvn rewrite:run
git diff
Le projet migré se déploie avec BBjShip. mvn install déploie l'application, et mvn démarre une exécution de développement. Retirez ensuite le plugin OpenRewrite de votre pom.xml. Mises à jour automatisées montre comment prévisualiser les changements avant l'exécution.
Ce que la migration change
Le plugin de construction
Le plugin d'installation devient le plugin de construction webforJ avec <extensions>true</extensions>, donc mvn install déploie sans exécution. Ses paramètres passent dans le bloc <bbj> :
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<version>${webforj.version}</version>
<extensions>true</extensions>
<configuration>
<bbj>
<publishName>inventory</publishName>
<deployment>
<url>http://localhost:8888/webforj-bbjship</url>
</deployment>
</bbj>
</configuration>
</plugin>
| Plugin d'installation | BBjShip |
|---|---|
<deployurl> | <bbj><deployment><url>, avec le chemin /webforj-bbjship |
<publishname> | <bbj><publishName> |
<username>, <password>, <token> | <bbj><admin> |
<classname> | webforj.entry dans webforj.conf |
<debug> | webforj.debug dans webforj.conf |
Déploiement énumère chaque paramètre du bloc <bbj>.
Le moteur webforJ
BBjServices fournit le moteur webforJ, donc votre application ne doit pas avoir le sien. La dépendance webforj exclut déjà webforj-engine. La migration la déclare à nouveau dans la portée provided afin que votre IDE continue de compiler contre :
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-engine</artifactId>
<version>${webforj.version}</version>
<scope>provided</scope>
</dependency>
Le fichier de configuration
La classe d'entrée et le drapeau de débogage passent du plugin d'installation au webforj.conf, à côté des paramètres avec lesquels une application BBjShip fonctionne :
webforj.entry = "com.example.Application"
webforj.debug = true
webforj.assetsSource = packaged
webforj.devtools.livereload.enabled = true
webforj.devtools.craftforj.enabled = true
webforj.assetsSource = packaged sert les fichiers statiques ws:// et les icônes icons:// de l'application. Sans cela, une application qui utilise icons:// échoue à démarrer dans BBjServices. Les clés que le fichier définit restent inchangées.
Exécutions de développement
La migration ajoute HotswapAgent à la configuration du plugin de construction :
<hotswap>
<hotswapAgent/>
</hotswap>
Elle définit également compile webforj:watch comme objectif par défaut de la construction, donc mvn exécute l'application dans les BBjServices de votre propre machine :
<defaultGoal>compile webforj:watch</defaultGoal>
Consultez BBjServices dans le redéploiement et le rechargement en direct.
Sans le plugin d'installation
Un projet qui n'a jamais utilisé le plugin d'installation obtient la même configuration manuellement : le plugin de construction avec un bloc <bbj>, l' exclusion et la déclaration provided de webforj-engine, et webforj.conf avec webforj.assetsSource = packaged. Le projet utilise un emballage jar, et la dépendance webforj exclut webforj-engine :
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj</artifactId>
<version>${webforj.version}</version>
<exclusions>
<exclusion>
<groupId>com.webforj</groupId>
<artifactId>webforj-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
Continuez à apprendre.
ArticleAI tools for Java migration: pick by the job, not the brand
ArticleSpring Boot Live Reload UI: See Java Changes in Your Browser
ArticlewebforJ Release Cycle: How Often It Ships and How Upgrades Work
ArticleStarting a New Java Project: The Decisions That Shape the Stack
ArticleJava framework upgrade with OpenRewrite: a webforJ guide