Siirry pääsisältöön

webforJ build -laajennus 26.01

Avaa ChatGPT:ssä

webforJ build -laajennus suorittaa webforJ:n rakennusaikatyöt osana Maven- tai Gradle-rakennusta. Lisäät sen kerran, ja se sitoo tavoitteensa vaiheisiin, joita jo suoritat, ilman erillistä frontend-projektia, jota pitää synkronoida. Se ohjaa frontend-kokoajaa, kooten frontendin, suorittaen frontend-testit, palvellen kehitysharsoja ja liittämällä hotswap-työkalun sovellukseen, jonka se käynnistää.

Liittäminen laajennus​

webforJ-projektilla, joka on luotu archetypen avulla, on jo laajennus. Lisää se olemassa olevaan projektiin:

Ilmoittamalla laajennuksen <extensions>true</extensions> sitoo sen tavoitteet rakennukseen ilman erillisiä suorituslohkot kirjoitettavaksi:

pom.xml
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>

Tavoitteet ja tehtävät​

Kolme tavoitetta sitoo vaiheisiin, joita jo suoritat, joten normaali mvn package tai ./gradlew build tuottaa sovelluksen, jonka frontend on koottu sisään, ja testivaihe suorittaa frontend-testit rinnakkain Java-testien kanssa. Tarkkailu on se, jonka aloitat käsin kehityksen aikana:

Maven-tavoiteGradle-tehtäväSuorittaaMitä se tekee
bundlewebforjBundleprepare-package, ennen jokaista jar- ja war-tiedostoaKootaan frontend pakattua sovellusta varten
testwebforjTesttestivaiheessaSuorittaa frontend-testit
cleanwebforjCleanFrontendpuhdistusvaiheessaPoistaa luodun frontendi
watchwebforjWatchkäsin, sovelluksen rinnallaUudelleenkootaan muutoksista kehityksen aikana
push-keyswebforjPushKeyskäsin, kerran per käyttöönottoLuo avainparin push-ilmoituksille ja tulostaa konfiguraatiolinjat
bbj-setupVain Mavenkäsin, BBj-koneellaAsentaa BBjShip paikalliseen BBj:hen ja aktivoi sen käyttöönotto-päätteen
bbj-packageVain Mavenpakettivaiheessa, <bbj>-lohkon kanssaKirjoittaa BBj-käyttöönottoarkiston
bbj-deployVain Mavenasennusvaiheessa, <bbj>-lohkon kanssaOta sovellus käyttöön BBjServices-palveluissa
bbj-undeployVain MavenkäsinPoistaa sovelluksen BBjServices-palveluista

Aloita tarkkailu tavoitteena ennen sitä, joka suorittaa sovellusta, esimerkiksi mvn compile webforj:watch spring-boot:run. Archetype-projekti asettaa tämän oletustavoitteeksi, joten mvn yksinään käynnistää kaiken. Sen uudelleenlatauskäyttäytyminen käsitellään Frontend-watch.

Ohita frontend-testit yhdessä Java-testien kanssa, käytä -DskipTests tai -Dmaven.test.skip Mavenissa ja -PskipTests Gradle:ssa.

Asetukset​

Määritä asetukset Mavenin <configuration>-elementteinä tai Gradlen webforj { }-laajennusarvoina. Jokainen Maven-asetus, lukuun ottamatta plugins ja hotswap, hyväksyy myös -D-ominaisuuden komentorivillä. Kaksi rakennustyökalua peilaavat toisiaan:

Maven-elementtiMaven-ominaisuusGradleOletusTarkoitus
bunVersionwebforj.bundler.versionbunVersionhallittuJatka Bun-version kiinnittämistä toistettavissa rakennuksissa
bunPathwebforj.bundler.pathbunPathlataaKäytä olemassa olevaa Bun-binaaria sen sijaan, että lataa
cacheDirwebforj.bundler.cacheDircacheDir${user.home}/.webforj/bunMissä hallitut Bun-binäärit välimuistitetaan
sourceRootwebforj.bundler.sourceRootsourceRootsrc/main/frontendMissä frontendin pääsyötteet sijaitsevat
workDirwebforj.bundler.workDirworkDirtarget/bundleMissä laajennus kirjoittaa luodut rakennustiedostonsa
plugins—plugins—Ota laajennus käyttöön tai pois päältä id:n mukaan, kuten webforj-tailwind
excludePackageswebforj.bundler.excludePackagesexcludePackages—Pakettien etuliitteet, joita ohitetaan annotaatioskannauksessa
eagerwebforj.bundler.eagereagerfalseLataa koko frontend sovelluksen käynnistyessä sen sijaan, että lataa näkymäkohtaisesti, katso Eager bundle
testArgswebforj.bundler.testArgstestArgs—Lisäargumentit, jotka siirretään frontend-testausajurille
hotswap—hotswap—Liitä luokkapäivitystyökalu sovellukseen, jonka rakennus käynnistää, katso Hotswap

Esimerkiksi, kiinnittääksesi Bun-version ja käynnistääksesi Tailwind:

pom.xml
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<bunVersion>1.3.0</bunVersion>
<plugins>
<webforj-tailwind>true</webforj-tailwind>
</plugins>
</configuration>
</plugin>
webforJ-tiimi

Tarvitsetko apua?

Keskustele webforJ:n insinöörien kanssa projektistasi.

Ota yhteyttä