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

Spring Boot+Vaadin启动后UI访问报错:无法打开根Jar文件

Vaadin/Spring Boot Jar启动时Jar文件访问异常问题

问题描述

  • IntelliJ内启动应用,Safari/Chrome浏览器访问无异常
  • 通过控制台执行命令启动(启动日志显示正常):
    /path/to/java -jar /path/to/app --spring.profiles.active=prod
    
  • 访问UI地址 localhost:8081/..../myapp 时抛出异常:

    java.io.IOException: Unable to open root Jar file 'war:file:/Users/.../myapp-1.0-SNAPSHOT.jar*/BOOT-INF/lib/flow-server-2.10.5.jar'

  • 解压Jar文件后,确认/BOOT-INF/lib/flow-server-2.10.5.jar存在于正确路径
  • 两种启动方式使用相同Java版本(8或17)、相同参数及浏览器

可能的解决方法

  • 重新构建完整Jar包:执行Maven/Gradle的clean打包命令,避免打包过程中出现损坏
    • Maven:mvn clean package -DskipTests -Pprod
    • Gradle:./gradlew clean bootJar -Pprod
  • 添加Vaadin静态资源访问参数:启动命令中加入系统属性,强制使用文件系统模式访问静态资源,规避Jar URL解析问题
    /path/to/java -Dvaadin.useFileSystemForStaticAssets=true -jar /path/to/app --spring.profiles.active=prod
    
  • 检查版本兼容性:确认flow-server-2.10.5与当前Spring Boot版本的适配性,若版本不匹配,升级或降级Vaadin Flow到对应兼容版本
  • 排查路径特殊字符:将Jar文件移动到无空格、中文或特殊字符的路径下再启动,避免URL解析出错
  • 禁用Jar索引功能:在application-prod.properties中添加配置,关闭Spring Boot的Jar索引
    spring.jar.index.enabled=false
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:33:10