使用VSCode开发的问题

最近遇到一个非常无语的问题,之前我开发使用的是IDEA,一切正常。

但是感觉IDEA升级新版本后非常卡,想切换到VSCode开发。

完全相同的项目代码,使用IDEA本地调试一切正常,但是使用VSCode所有后台Controller注册的action全部报404。

经过千辛万苦的排查,发现是2个工具的启动参数不同。

IDEA的启动参数如下:

java -classpath "XXX1.jar;XXX2.jar(所有依赖的jar包);XXXProject\target\classes(项目的编译输出路径);" com.XXX.App(启动类)

VSCode的启动参数如下:

java '-cp' 'C:\Users\Administrator\AppData\Local\Temp\cp_30iz2rx7b2khicoag9024vx6u.jar(VSCode自动生成的,里面包含了所有依赖的jar包和项目的编译输出路径)'

大致原理我也清楚,因为JFinal项目所有Controller自动注册action是基于包的扫描,而包的路径和classpath相关,由于VSCode启动时classpath参数与IDEA不同,导致无法扫描到Controller,所以所有action没有注册。

现在我的解决方案是,在启动入口类的main方法中加入如下代码:

String cp = System.getProperty("java.class.path");

//我尝试了各种VSCode关于classpath的配置,全部失败。启动会发现下面的输出和配置前没有任何变化。

System.out.println(cp);

cp+=";"+PathKit.getRootClassPath();

System.setProperty("java.class.path", cp);

但是我感觉这种方法太不优雅了,为什么我就因为使用VSCode开发就要在项目中多这么一段代码。。

敢问各位大佬有没有什么更优雅方法

评论区

大个

2026-04-03 15:23

补充一下,项目使用了JBoot框架,所有Controller路由注册使用@RequestMapping

JFinal

2026-04-03 17:25

曾经折腾过一阵子 vscode 开发 java 项目,vscode 应该可以直接配置,具体配置忘了

我估计你是因为要使用 AI 才去 vscode 上去开发,其实没有必要, IDEA 内可以使用 claude code,也可以在控制台使用 Claude code , 在 IDEA 中看结果

还可以使用 IDEA 的插件接入 claude code 。

至于开发用什么 Ai 工具,当下别折腾其它的,无脑 Claude code 即可。

大个

2026-04-03 20:33

@JFinal @JFinal 不是因为AI,是真的觉得IDEA卡。我平时对AI插件依赖度不高,现在都是使用的通义灵码,完全免费的

JFinal

2026-04-03 23:38

@大个 去除 IDEA 内用不到的插件就不卡了,试过很多开发工具,java 开发还得是 IDEA。

热门反馈

扫码入社