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

Vaadin 8部署Tomcat 9后页面空白,缺失指定缓存JS文件求助

Vaadin 8 + Tomcat 9 空白页及缓存JS缺失问题解决方案
  • 清理构建与服务器缓存

    • 删除项目根目录下的target(Maven)或build(Gradle)目录,同时清理IDE本地缓存(如IntelliJ的.idea文件夹、Eclipse的.metadata目录)
    • 执行构建工具清理命令:mvn clean(Maven)或 ./gradlew clean(Gradle)
    • 停止Tomcat,删除其work、temp目录,以及webapps下的项目部署包,重新打包部署
  • 校验Vaadin构建插件配置

    • Maven项目需确保vaadin-maven-plugin已绑定build-frontend目标到编译阶段,配置示例:
      <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>
      </plugin>
      
    • Gradle项目需确保vaadin插件的buildFrontend任务已绑定到compileJava之后,保证前端资源能正确生成
  • 检查Tomcat与项目部署配置

    • 确认Tomcat的conf/web.xml未拦截/VAADIN/**路径的请求,避免Vaadin静态资源被过滤
    • 校验项目WEB-INF/web.xml中VaadinServlet映射正确,确保所有请求能被Vaadin处理,示例:
      <servlet>
          <servlet-name>Vaadin Application Servlet</servlet-name>
          <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
          <init-param>
              <param-name>UI</param-name>
              <param-value>你的UI类全路径</param-value>
          </init-param>
      </servlet>
      <servlet-mapping>
          <servlet-name>Vaadin Application Servlet</servlet-name>
          <url-pattern>/*</url-pattern>
      </servlet-mapping>
      
  • 排查前端资源与浏览器问题

    • 强制刷新浏览器(Ctrl+F5 / Cmd+Shift+R),清除浏览器缓存后重新访问
    • 解压部署的war包,检查VAADIN/static/client/目录下是否存在报错中提到的缓存JS文件,若缺失则需重新执行前端构建
  • 确认版本兼容性

    • 使用Vaadin 8.14.0及以上版本,该版本修复了部分与Tomcat 9的兼容性问题,避免因版本不匹配导致资源生成异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:45:17