Olemassa olevat projektit
Projekt, joka asennetaan vanhentuneen webforJ asennusliitännäisen avulla, siirtyy BBjShipiin yhdellä OpenRewrite-suorituksella. Suoritus muuttaa projektin pom.xml- ja webforj.conf-tiedostoa. Java-koodi, tyylisivut ja resurssit pysyvät muuttumattomina.
Siirrä OpenRewrite:llä
Lisää OpenRewrite Maven -liitännäinen pom.xml-tiedostoosi, käyttäen webforJ 26.03 reseptiä:
<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>
Suorita migraatio ja tarkista, mitä on muuttunut:
mvn rewrite:run
git diff
Siirretty projekti asennetaan BBjShipin avulla. mvn install asentaa sovelluksen, ja mvn käynnistää kehityssuorituksen. Poista OpenRewrite-liitännäinen pom.xml-tiedostostasi tämän jälkeen. Automaattiset päivitykset näyttää, kuinka voit esikatsella muutokset ennen suoritusta.
Mitä migraatio muuttaa
Asennusliitännäinen
Asennusliitännäinen muuttuu webforJ rakennusliitännäiseksi <extensions>true</extensions> -asetuksella, joten mvn install asentaa ilman suoritetta. Sen asetukset siirtyvät <bbj> lohkoon:
<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>
| Asennusliitännäinen | BBjShip |
|---|---|
<deployurl> | <bbj><deployment><url>, polulla /webforj-bbjship |
<publishname> | <bbj><publishName> |
<username>, <password>, <token> | <bbj><admin> |
<classname> | webforj.entry webforj.conf-tiedostossa |
<debug> | webforj.debug webforj.conf-tiedostossa |
Asentaminen listaa kaikki <bbj>-lohkon asetukset.
webforJ-moottori
BBjServices tarjoaa webforJ-moottorin, joten sovelluksesi ei saa sisältää omaa. webforj-riippuvuus sulkee jo webforj-engine:n. Migraatio määrittelee sen jälleen provided-laajuudessa, jotta IDEsi voi edelleen kääntää sen:
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-engine</artifactId>
<version>${webforj.version}</version>
<scope>provided</scope>
</dependency>
Konfigurointitiedosto
Entry-luokka ja debug-lippu siirtyvät asennusliitännäisestä webforj.conf-tiedostoon, rinnakkain asetusten kanssa, joita BBjShip-sovellus käyttää:
webforj.entry = "com.example.Application"
webforj.debug = true
webforj.assetsSource = packaged
webforj.devtools.livereload.enabled = true
webforj.devtools.craftforj.enabled = true
webforj.assetsSource = packaged toimittaa ws:// staattiset tiedostot ja icons:// ikonit sovelluksesta. Ilman sitä sovellus, joka käyttää icons://, ei käynnisty BBjServicesissä. Tiedoston jo asettamat avaimet pysyvät muuttumattomina.
Kehityssuoritukset
Migraatio lisää HotswapAgentin rakennusliitännäisen konfiguraatioon:
<hotswap>
<hotswapAgent/>
</hotswap>
Se asettaa myös compile webforj:watch oletustavoitteeksi rakennuksessa, jotta mvn suorittaa sovelluksen omassa koneesi BBjServicesissä:
<defaultGoal>compile webforj:watch</defaultGoal>
Katso BBjServices uudelleenlähetyksessä ja live reloadissa.
Ilman asennusliitännäistä
Projekti, joka ei ole koskaan käyttänyt asennusliitännäistä, saa saman konfiguraation käsin: rakennusliitännäisen <bbj>-lohkolle, webforj-engine poissulun ja provided määrittelyn, ja webforj.conf webforj.assetsSource = packaged kanssa. Projekti käyttää jar-pakkausta, ja webforj-riippuvuus sulkee 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>
Jatka oppimista
ArtikkeliAI tools for Java migration: pick by the job, not the brand
ArtikkeliSpring Boot Live Reload UI: See Java Changes in Your Browser
ArtikkeliwebforJ Release Cycle: How Often It Ships and How Upgrades Work
ArtikkeliStarting a New Java Project: The Decisions That Shape the Stack
ArtikkeliJava framework upgrade with OpenRewrite: a webforJ guide