跳至主要内容

webforJ构建插件 26.01

在 ChatGPT 中打开

webforJ构建插件在您的Maven或Gradle构建中运行webforJ的构建时间工作。您只需添加一次,它就会将其目标绑定到您已经运行的阶段,无需保持同步的独立前端项目。它驱动前端打包工具,编译前端、运行前端测试、提供开发监视服务,并将热替换工具附加到它启动的应用。

添加插件​

从原型创建的webforJ项目已经包含了插件。要将其添加到现有项目中:

通过声明插件 <extensions>true</extensions> 将其目标绑定到构建,而无需编写执行块:

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

目标和任务​

三个目标绑定到您已经运行的阶段,因此普通的 mvn package 或 ./gradlew build 会生成一个包含其前端编译的应用,并且测试阶段会与Java测试一起运行前端测试。监视是您在开发期间手动启动的:

Maven目标Gradle任务运行功能
bundlewebforjBundleprepare-package,在每个jar和war之前为打包的应用编译前端
testwebforjTest与测试阶段一起运行前端测试
cleanwebforjCleanFrontend与清理阶段一起删除生成的前端
watchwebforjWatch手动,和应用一起在开发期间变更时重建
push-keyswebforjPushKeys手动,每次部署一次生成推送通知的密钥对并打印配置行
bbj-setup仅Maven手动,在BBj机器上在本地BBj中安装BBjShip并启用其部署端点
bbj-package仅Maven与打包阶段一起,有<bbj>块写入BBj部署归档
bbj-deploy仅Maven与安装阶段一起,有<bbj>块将应用部署到BBjServices
bbj-undeploy仅Maven手动从BBjServices移除应用

在运行应用之前启动监视作为目标,例如mvn compile webforj:watch spring-boot:run。原型项目将其设置为默认目标,因此单独使用mvn可以启动所有内容。它的重载行为在前端监视中进行了说明。

跳过前端测试以及Java测试,使用-DskipTests(Maven)或-PskipTests(Gradle)。

选项​

将选项设置为Maven <configuration> 元素,或设置为Gradle webforj { } 扩展值。除plugins和hotswap外,所有Maven选项还接受命令行上的 -D 属性。这两个构建工具是互相镜像的:

Maven元素Maven属性Gradle默认值目的
bunVersionwebforj.bundler.versionbunVersionmanaged锁定Bun版本以实现可重复构建
bunPathwebforj.bundler.pathbunPathdownload使用现有Bun二进制文件而不是下载
cacheDirwebforj.bundler.cacheDircacheDir${user.home}/.webforj/bun缓存管理的Bun二进制文件的路径
sourceRootwebforj.bundler.sourceRootsourceRootsrc/main/frontend前端入口源文件所在位置
workDirwebforj.bundler.workDirworkDirtarget/bundle插件写入其生成的构建文件的路径
plugins—plugins—通过id开启或关闭一个扩展,例如webforj-tailwind
excludePackageswebforj.bundler.excludePackagesexcludePackages—在注解扫描过程中跳过的包前缀
eagerwebforj.bundler.eagereagerfalse在应用启动时而不是按视图加载整个前端,见急切打包
testArgswebforj.bundler.testArgstestArgs—传递给前端测试运行程序的额外参数
hotswap—hotswap—将类更新工具附加到构建启动的应用,见热替换

例如,要锁定Bun版本并开启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 团队

需要帮助吗?

与 webforJ 的工程师聊聊您的项目。

联系我们