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

Vaadin 24生产构建时前端文件被删除,如何留存适配流水线?

Vaadin 24生产构建后保留前端文件的解决方案

在执行mvn clean package -Pproduction时,Vaadin 24默认会在build-frontend阶段清理生成的package.json、package-lock.json、vite.generated.ts和node_modules,以下是两种可靠的留存方法:

方法1:修改Maven插件配置禁用自动清理

直接在项目的pom.xml中调整vaadin-maven-plugin的配置,阻止插件删除前端文件和依赖目录:

<plugin>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-maven-plugin</artifactId>
    <version>${vaadin.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-frontend</goal>
                <goal>build-frontend</goal>
            </goals>
            <configuration>
                <!-- 禁止清理node_modules目录 -->
                <cleanNode>false</cleanNode>
                <!-- 禁止清理生成的前端配置文件 -->
                <cleanFrontendFiles>false</cleanFrontendFiles>
            </configuration>
        </execution>
    </executions>
</plugin>

如果不想修改pom,也可以在命令行临时添加参数:

mvn clean package -Pproduction -Dvaadin.cleanNode=false -Dvaadin.cleanFrontendFiles=false

方法2:预先创建空的package.json

手动在项目根目录创建一个内容为{}的空package.json文件,Vaadin的prepare-frontend目标会自动更新这个文件,并且不会在构建后删除它——因为插件会识别这是用户手动创建的文件,而非临时生成的产物。

原因说明

Vaadin生产构建的build-frontend目标默认会清理所有临时生成的前端资源,包括自动生成的package.json。而prepare-frontend虽然负责生成/更新这些文件,但后续的清理步骤会将其删除。通过上述两种方式,要么直接禁用清理逻辑,要么让插件将文件识别为用户自有资源,从而保留下来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:16:17