当我运行 .java 项目时,编译器将 .class 文件放在 src 文件夹和 bin 文件夹中

When I run my .java projects, the compiler places the .class files in the src folder and in the bin folder

提问人:Guilherme Pereira 提问时间:11/9/2023 最后编辑:shmoselGuilherme Pereira 更新时间:11/9/2023 访问量:45

问:

我的 .java 程序的输出设置有问题。每次我单击按钮运行我的项目时,编译器都会创建 .class 文件并将它们放入 src,同时也会将它们放入 bin。将这些 .class 文件仅放在 bin 中并将 src 文件夹保留为“干净”(仅与 .java 文件一起)不是对吗?我该如何解决这个问题?

我看到了一个与我类似的问题(Visual Studio Code 在编译时将 .class 文件放在 src 文件夹中),但设置正确,但错误仍然存在。我的 VS 工作区:https://i.stack.imgur.com/ONPIJ.png

Java Visual-Studio-Code 编译 输出 设置

评论

1赞 Elliott Frisch 11/9/2023
强烈建议您使用 maven 来构建您的项目。正如你所发现的,原生 Java 工具使用起来可能有点挑战性。
1赞 Slaw 11/9/2023
如果直接使用(或以其他方式手动指定命令行),请使用该选项指定输出目录。但是,对于任何重要的 Java 项目,您几乎都应该始终使用构建工具。Java 生态系统中两种常见的构建工具是 Maven 和 Gradle(尽管存在其他工具),VS Code 对两者都有扩展。javac-d

答:

0赞 JialeDu 11/9/2023 #1

从截图可以看出,您使用的是 CodeRunner 来执行代码,因此文件将直接在脚本文件的同一级别生成。.class

请使用 Java 扩展包来执行脚本,以便使用设置。"java.project.outputPath": "bin"

enter image description here

验证方法是删除所有现有文件,然后使用 Java 扩展执行脚本。您将看到该文件是在文件夹下生成的。.classclassbin

https://code.visualstudio.com/docs/java/java-tutorial

当然,我也建议你不要先使用 CodeRunner。只有前期的官方扩展才能避免很多麻烦。由于官方扩展带来的设置和配置很多,CodeRunner 只使用命令来运行脚本。