Zum Hauptinhalt springen

webforJ-Baustein-Plugin 26.01

In ChatGPT öffnen

Das webforJ-Baustein-Plugin führt die Build-Zeit-Arbeiten von webforJ als Teil Ihres Maven- oder Gradle-Builds aus. Sie fügen es einmal hinzu, und es bindet seine Ziele an die Phasen, die Sie bereits ausführen, ohne ein separates Frontend-Projekt synchron halten zu müssen. Es steuert den Frontend-Bundler, kompiliert das Frontend, führt die Frontend-Tests aus und bedient die Entwicklungsüberwachung.

Hinzufügen des Plugins

Ein aus einem Archetyp erstelltes webforJ-Projekt hat bereits das Plugin. Um es zu einem bestehenden Projekt hinzuzufügen:

Die Deklaration des Plugins mit <extensions>true</extensions> bindet seine Ziele an den Build, ohne dass Ausführungsblöcke geschrieben werden müssen:

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

Ziele

Das Plugin bindet vier Ziele, jedes an eine Phase, die Sie bereits ausführen, sodass ein normales mvn package oder gradle build eine App mit dem kompilierten Frontend erzeugt, und mvn test die Frontend-Tests zusammen mit den Java-Tests ausführt.

Maven-ZielGradle-AufgabePhaseWas es tut
bundlewebforjBundleprepare-packageKompiliert das Frontend für die Produktion
testwebforjTesttestFührt die Frontend-Tests aus
cleanwebforjCleanFrontendcleanEntfernt das generierte Frontend
watchwebforjWatchmanuell ausführenBaut bei Änderungen während der Entwicklung neu

Das watch-Ziel ist das, das Sie während der Entwicklung manuell ausführen, zusammen mit der App. Das Nachladeverhalten wird in Frontend-Watch behandelt.

Optionen

Setzen Sie Optionen als Maven <configuration> (oder -D-Eigenschaften in der Befehlszeile) und als Gradle webforj { }-Erweiterungswerte. Die beiden Build-Tools spiegeln sich gegenseitig.

OptionMaven-EigenschaftGradleStandardwertZweck
Bun-Versionwebforj.bundler.versionbunVersionverwaltetLegt die Bun-Version für reproduzierbare Builds fest
Bun-Binärdateiwebforj.bundler.pathbunPathherunterladenVerwendet eine vorhandene Bun-Binärdatei anstelle des Herunterladens
Cache-Verzeichniswebforj.bundler.cacheDircacheDir${user.home}/.webforj/bunWo verwaltete Bun-Binärdateien zwischengespeichert werden
Quellverzeichniswebforj.bundler.sourceRootsourceRootsrc/main/frontendWo sich die Frontend-Einstiegspunkte befinden
Arbeitsverzeichniswebforj.bundler.workDirworkDirtarget/bundleWo das Plugin seine generierten Build-Dateien schreibt
ErweiterungenpluginspluginsAktivieren oder Deaktivieren einer Erweiterung nach ID, wie webforj-tailwind
Pakete ausschließenwebforj.bundler.excludePackagesexcludePackagesPaketpräfixe, die während des Annotation-Scans übersprungen werden sollen
Eagerwebforj.bundler.eagereagerfalseLädt das gesamte Frontend beim Start der App statt pro Ansicht, siehe Eager-Bundle
Testargumentewebforj.bundler.testArgstestArgsZusätzliche Argumente, die an den Frontend-Test-Runner übergeben werden
Tests überspringenskipTests, maven.test.skipfalseÜberspringt die Frontend-Tests

Zum Beispiel, um die Bun-Version festzulegen und Tailwind zu aktivieren:

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