VS Code中Code Runner生成.class文件存于src而非bin的求助
解决VS Code中Code Runner生成.class文件到src目录的问题
Code Runner本身不会读取Java Extension Pack的java.project.outputPath配置,所以你需要直接修改它的Java执行命令,强制指定编译输出目录:
- 打开VS Code设置(快捷键
Ctrl+,),搜索code-runner.executorMap,点击编辑 in settings.json。 - 在settings.json中找到
java对应的配置项,替换为带输出目录参数的命令:- 如果你的项目结构是
项目根目录/src/xxx.java,想把class文件输出到项目根目录/bin:"code-runner.executorMap": { "java": "cd $dir && javac -d ${workspaceFolder}/bin $fileName && java -cp ${workspaceFolder}/bin $fileNameWithoutExt" } - 如果你需要自动创建bin目录(避免手动创建),Windows环境可以用:
"code-runner.executorMap": { "java": "cd $dir && if not exist ${workspaceFolder}/bin mkdir ${workspaceFolder}/bin && javac -d ${workspaceFolder}/bin $fileName && java -cp ${workspaceFolder}/bin $fileNameWithoutExt" } - Linux/macOS环境则用:
"code-runner.executorMap": { "java": "cd $dir && mkdir -p ${workspaceFolder}/bin && javac -d ${workspaceFolder}/bin $fileName && java -cp ${workspaceFolder}/bin $fileNameWithoutExt" }
- 如果你的项目结构是
- 保存settings.json后,按
Ctrl+Shift+P输入Reload Window重启VS Code,再运行Java文件验证:- 检查
bin目录下是否生成了对应的.class文件,同时src目录下不再生成冗余的class文件。
- 检查
关键说明
java.project.outputPath是Java Extension Pack专属配置,Code Runner完全不依赖这个参数,所以必须直接修改它的执行命令,通过javac -d参数指定输出目录,同时运行时用-cp指定类路径到bin目录,才能确保运行正常。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

