BBjServices
In BBjServices start de build geen server op zijn eigen. mvn compile webforj:watch draait de app in de BBjServices van je eigen machine via BBjShip, rechtstreeks vanuit het project. Een archetype project met de BBj-smaak stelt dit in als zijn standaard Maven-doel, zodat mvn zonder argumenten de app compileert, de frontend watch start, en de app uitvoert.
Vereisten
Een Maven-project ingesteld voor BBjShip, zie Beginnen of Bestaande projecten, met BBj geïnstalleerd op dezelfde machine als het project. BBjServices laadt de klassen uit de mappen waar de build in compileert, zodat een BBj-server op een andere machine alleen deployments ontvangt, zonder live reload of hotswap.
Live reload inschakelen
webforj.devtools.livereload.enabled = true
De overige sleutels zijn vermeld in de instellingen.
Klassed wijzigingen
In BBjServices bereidt een wijziging in een klasse de draaiende app alleen voor via een hotswap-tool. Zonder één toepast een gecompileerde wijziging niet en de pagina herlaadt niet totdat de watch opnieuw start. Een archetype project configureert HotswapAgent:
<hotswap>
<hotswapAgent/>
</hotswap>
De tool hecht zich aan BBjServices, niet aan de build. De eerste run voegt het toe aan de Java-argumenten van BBjServices en herstart BBjServices één keer. Lere runs starten zonder een herstart. Op macOS en Linux, en op Windows wanneer BBjServices niet is geregistreerd als een Windows-service, draait de herstartte BBjServices buiten de servicemanager van het besturingssysteem tot de machine opnieuw opstart. Probleemoplossing vermeldt de berichten van een ontwikkelingsrun en wat je met elk moet doen.
De eerste run verandert de Java-instellingen van BBjServices in <BBj home>/cfg/BBj.properties en herstart BBjServices. De herstart beëindigt elke draaiende BBj-sessie op die machine, niet alleen webforJ-sessies, dus voer het uit wanneer niemand anders die BBj gebruikt. Voor de eerste wijziging wordt een kopie van het bestand bewaard als BBj.properties.before-webforj in de map <BBj home>/plugins/.webforj-bbjship-deployments. Maak zelf eerst een back-up van het bestand als je het met de hand hebt gewijzigd. mvn webforj:bbj-setup maakt dezelfde wijziging.
Een wijziging in afhankelijkheden vereist een nieuwe start van de watch.
Java van BBjServices
Met HotswapAgent zijn wijzigingen in de klassenstructuur afhankelijk van de Java waarop BBjServices draait, niet van de Java van de build. De watch verandert dit nooit. Om BBjServices te draaien op een JetBrains Runtime:
- Ga in Enterprise Manager naar BBjServices, Java-instellingen.
- Selecteer BBjServices onder Applicatie en stel het Java-home in.
- Herstart BBjServices. Java-details in Enterprise Manager toont dan de JDK en de versie waarop het draait.
Zie Vereisten voor het installeren van een JetBrains Runtime.
Productie builds
mvn install deployt de verpakte app zonder ontwikkelingstools, zie Deployen. De eigenschap webforj.devtools.livereload.enabled heeft geen effect in een verpakte app.

