vscode运行spring boot需装全microsoft官方extension pack for java插件并重启;lombok需配置annotation processing及jdk路径;application.properties须置于src/main/resources且utf-8无bom;一键启动依赖launch.json中mainclass、projectname和cwd准确配置。

装对插件比装JDK还容易出错
VSCode 本身不带 Java 运行支持,必须靠插件补全。最核心的是 Extension Pack for Java(官方打包插件),它包含 Language Support for Java、Debugger for Java、Test Runner for Java 等。漏掉任意一个,都可能遇到:代码不提示、断点不生效、SpringBootApplication 类右键没 “Run” 选项。
常见错误现象:Cannot resolve symbol 'SpringBootApplication' 或右键菜单里压根没有 Run Spring Boot App —— 很大概率是没装全插件包,或装了非官方的“精简版” Java 插件。
- 别单独搜“Java”然后随便点安装,认准发布者是
Microsoft,名称带Extension Pack - 装完重启 VSCode,不是重载窗口
- 如果项目已存在,删掉项目根目录下的
.vscode/文件夹再重启,避免旧配置干扰
project lombok 在 VSCode 里默认不生效
Spring Boot 项目普遍用 Lombok 简化 getter/setter,但 VSCode 的 Java 插件默认不加载 lombok.jar,导致编译报错 Cannot find symbol,IDE 却不标红 —— 表面正常,实际跑不起来。
解决方法不是加依赖,而是告诉插件“去哪找 Lombok”:
- 确认
pom.xml中已有org.projectlombok:lombok依赖(scope 为provided) - 在 VSCode 设置中搜索
java.configuration.updateBuildConfiguration,设为interactive(否则插件不会主动读取 pom 变更) - 打开命令面板(
Ctrl+Shift+P),运行Java: Configure Classpath→ 选当前项目 → 勾选Enable annotation processing - 最后,在
settings.json里手动加一行:"java.configuration.runtimes": [{ "name": "JavaSE-17", "path": "/your/jdk/path" }](路径必须准确,否则 Lombok 注解处理器找不到 JDK 工具类)
application.properties 不生效?检查文件位置和编码
Spring Boot 启动时找不到配置,报 Failed to load property source from location 'classpath:/application.properties',90% 是路径或编码问题。
关键点不在内容写得对不对,而在文件是否被正确识别为资源:
- 文件必须放在
src/main/resources/下,不是src/main/java/或resources的子目录 - VSCode 默认用 UTF-8,但如果从 Windows 复制过来,可能带 BOM;用
file -i application.properties检查,显示charset=utf-8才安全 - 如果用了
application.yml,确保缩进是空格(不能用 Tab),且顶层 key 后必须跟冒号+空格,比如server:而不是server:(后面没空格会解析失败) - 多环境配置如
application-dev.properties,启动时需显式加参数:--spring.profiles.active=dev
一键启动的本质是 launch.json 配置对了
所谓“一键启动”,就是 VSCode 调用 Debug: Start Debugging(F5)时,自动执行正确的 JVM 参数和主类。这完全依赖 .vscode/launch.json 里的配置,不是靠插件猜。
手动生成方式:打开 SpringBootApplication 类 → 按 Ctrl+Shift+P → 输入 Java: Create Java Launch Configuration → 选 Spring Boot。生成后重点检查三项:
-
mainClass必须是带@SpringBootApplication注解的类全名,如"com.example.demo.DemoApplication",不能写错大小写 -
projectName必须和pom.xml里<artifactid></artifactid>一致,否则构建路径错乱 - 如果用了 Maven 多模块,
cwd(工作目录)要设为该模块根目录,否则resources找不到 - 加 JVM 参数?直接写进
vmArgs字段,例如:"-Dspring.profiles.active=local -Xmx512m"
启动失败时看终端输出的第一行:如果是 Error: Could not find or load main class,基本就是 mainClass 写错了;如果是 Connection refused,先检查 server.port 是否被占用。
复杂点在于,Spring Boot 的自动配置、条件化 Bean、Profile 加载顺序,全靠 classpath 和启动参数驱动——VSCode 只是把它们串起来,细节错一点,就卡在“看起来能点,点完没反应”。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











