Ubuntu构建的Vaadin Spring Boot War包在Windows10启动失败求助
解决Vaadin v14 Spring Boot应用跨系统启动开发模式路径问题
核心原因
Vaadin开发模式依赖项目本地源文件、构建配置目录,你在Ubuntu打包时,应用记录了Ubuntu下的绝对路径/home/alex/Documents/vaadinTesting/flow-crm-tutorial,到Windows后该路径不存在,导致启动失败。
解决方案
方案1:切换到生产模式启动(最快解决)
开发模式主要用于本地开发热部署,生产模式无需依赖源文件路径,直接修改启动命令添加生产模式参数:
java -jar flowcrmtutorial-1.0-SNAPSHOT.war --vaadin.productionMode=true
方案2:在Windows本地重新构建War包(推荐,避免路径依赖)
- 在Windows上克隆或复制完整项目源码(包括
pom.xml/build.gradle、src目录等,不只是war包、target和node_modules) - 安装与Ubuntu版本尽量一致的JDK、Maven/Gradle和Node.js
- 执行构建命令:
- Maven:
mvn clean package -DskipTests - Gradle:
gradlew clean bootWar
- Maven:
- 使用新生成的War包启动,此时路径会自动适配Windows环境。
方案3:手动指定Vaadin开发模式路径(临时调试用)
如果必须用原War包在Windows跑开发模式,需手动指定项目根目录:
- 在Windows创建类似Ubuntu的路径结构,比如
C:\vaadinTesting\flow-crm-tutorial,将完整项目源码(src、pom.xml等)放入该目录 - 启动时添加系统参数指定Vaadin项目根路径:
java -Dvaadin.project.root=C:\vaadinTesting\flow-crm-tutorial -jar flowcrmtutorial-1.0-SNAPSHOT.war
注意事项
- 开发模式需要完整项目源码和配置文件,仅复制war包、target和node_modules无法满足依赖
- 跨系统部署时,优先在目标系统本地重新构建,可避免路径、环境依赖问题
内容的提问来源于stack exchange,提问作者worstAmongThe4SeasonsIsSpring
相关产品推荐
相关产品推荐

