You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Vaadin中自定义静态资源目录的CSS文件启用Brotli压缩?

解决Vaadin生产构建中META-INF/resources下CSS文件未被Brotli压缩的问题

Vaadin生产构建默认仅对frontend/themes目录下的资源进行压缩处理,要让src/main/resources/META-INF/resources下的CSS文件也被Brotli压缩,需通过构建工具配置扩展资源处理范围,以下分Maven和Gradle两种场景说明:

Maven项目配置

在项目pom.xml的Vaadin插件配置块中,添加资源包含规则并显式启用Brotli压缩:

<plugin>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-maven-plugin</artifactId>
    <version>${vaadin.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>build-frontend</goal>
            </goals>
            <phase>compile</phase>
        </execution>
    </executions>
    <configuration>
        <resourceIncludes>
            <include>**/META-INF/resources/**/*.css</include>
        </resourceIncludes>
        <enableBrotli>true</enableBrotli>
    </configuration>
</plugin>
  • resourceIncludes指定构建工具需处理的额外资源路径,匹配所有META-INF/resources下的CSS文件
  • enableBrotli显式开启Brotli压缩(默认可能已开启,显式配置更稳妥)

Gradle项目配置

在项目构建脚本中扩展Vaadin插件的资源处理规则:

Groovy DSL示例

vaadin {
    resourceIncludes.add("**/META-INF/resources/**/*.css")
    enableBrotli = true
}

Kotlin DSL示例

vaadin {
    resourceIncludes.add("**/META-INF/resources/**/*.css")
    enableBrotli.set(true)
}

验证配置生效

执行生产构建命令:

  • Maven:mvn clean package -Pproduction
  • Gradle:./gradlew clean build -Pvaadin.productionMode

构建完成后,查看打包产物中META-INF/resources目录下的CSS文件,对应会生成.br后缀的Brotli压缩文件。

内容的提问来源于stack exchange,提问作者megloff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 23:17:02