通过VS Code部署Spring Boot项目到Azure Web App遇报错求助
按照VS Code官方Java Web应用部署文档步骤,克隆spring-guides的gs-spring-boot示例Spring Boot项目,尝试通过VS Code将项目的.jar文件部署到Azure Web App时,弹出错误提示:Path specified is not a war file。但文档明确说明可向该Web App部署.jar文件,需要排查问题原因。
相关截图
- Spring项目部署界面:

- 错误提示界面:

检查Azure Web App运行时配置
Azure Web App的Tomcat运行时默认仅支持WAR包,而Spring Boot可执行JAR需要运行在**Java SE(嵌入式Web服务器)**模式下。登录Azure门户,进入Web App的「配置」-「常规设置」,确认运行时堆栈选择的是Java版本(如Java 17)+ Java SE,而非Tomcat。如果配置为Tomcat环境,就会触发“不是WAR文件”的错误。验证VS Code部署操作选项
在VS Code的Azure App Service插件中执行部署时,确保选择的是通用的「Deploy to Web App」选项,而非针对WAR包的专属部署流程。部分情况下插件会根据项目结构误判部署类型,需手动确认部署的是JAR包。确认JAR包有效性
用Maven或Gradle构建生成的必须是Spring Boot可执行Fat Jar(包含所有依赖的完整JAR)。可通过本地命令java -jar 你的项目文件名.jar测试,能正常启动说明包有效。若生成的是普通JAR,也可能导致部署识别异常。更新VS Code Azure插件
旧版本的Azure App Service插件可能存在JAR部署的兼容性问题。在VS Code扩展市场搜索「Azure App Service」,检查并更新到最新版本。
内容的提问来源于stack exchange,提问作者Venkatesh

