前言
唉,又是被Vscode折磨的一个晚上,本想好好写点代码的,却被一个个小问题搞得团团转,服了。
错误原因分析
正如标题所示,这是扩展“Java->debug”抛出的一个错误,意思是这个“XXX”主类不在工作区内。这问题解决起来说容易也容易,说不容易也不容易。如果单纯想要运行,按照以下步骤即可解决。
1.点击“Fix”
2.找到对应的类点击即可
但是,这未免也太麻烦了,谁受得了啊。经过我的仔细研究发现,如果将改文件拖到根目录下运行就不会出现这个问题。于是我怀疑是本人配置的launch.json文件默认只能作用于根目录下,因此出现这种问题。看看我原来的配置文件:
解决方法
究竟该怎么修改呢?摸索了一个晚上,也算是苍天有眼,让我机缘巧合之下找到一条出路。我们先明确一下现在的问题,即“lanuch.json文件配置不全”,那么我们怎么找到完备的配置文件,这时就可以依赖插件了。如图,点击“Run”,程序是可以成功运行的。
这时我们再回去看一下“launch.json”文件,会发现插件帮我们自动生成了一段配置信息,如图:
对比可以发现,我的配置信息的mainclass是“TwoThreadTest”而插件生成的是“TwoThread.TwoThread”这说明我应该主类前面加上所在的文件夹的名称,否则插件Java->debugger无法找到这个主类,这也是为什么我之前把文件拖到根目录下可以运行,放到根目录下的文件夹了就不能运行。综上,错误原因是我的主类名称形式写错了,应该在前面加上"FileFlod."的形式。