为什么会有一个;测试“;及;“主要”;当谈到Java时,文件夹是什么?

为什么会有一个;测试“;及;“主要”;当谈到Java时,文件夹是什么?,java,intellij-idea,Java,Intellij Idea,我在test文件夹(由intellij自动创建)中的特定类中编写程序,并按原样运行。然后我需要从shell运行Java程序,我意识到我需要在main类中编写程序 因此,现在我想知道从main类运行已经编写好的代码的最简单方法是什么,文件夹Test和main是否在其中起作用?这些文件夹本身不是Java的一部分,与main方法无关。它们用于将打包和部署的代码和资源与在主代码上运行自动测试的代码和资源分开,但这些代码和资源不是以二进制包的形式提供的 我不使用IntelliJ,但在Eclipse中,我可

我在
test
文件夹(由intellij自动创建)中的特定类中编写程序,并按原样运行。然后我需要从shell运行Java程序,我意识到我需要在
main
类中编写程序


因此,现在我想知道从
main
类运行已经编写好的代码的最简单方法是什么,文件夹
Test
main
是否在其中起作用?

这些文件夹本身不是Java的一部分,与
main
方法无关。它们用于将打包和部署的代码和资源与在主代码上运行自动测试的代码和资源分开,但这些代码和资源不是以二进制包的形式提供的


我不使用IntelliJ,但在Eclipse中,我可以右键单击带有
main
方法的类并运行它

这不是Java的特性,而是测试驱动开发的惯例。“Test”文件夹用于存储测试“Main”代码的代码。例如,一个名为Foo的类和一个名为bar()的方法将存在于“main”文件夹下的包中。相应的测试,它确认Foo.bar()函数如预期的那样位于“test”文件夹下


IntelliJ理解这种约定,允许您从“test”文件夹中运行测试代码,并允许您从“main”文件夹中运行应用程序代码。

这是一种来自构建工具的约定,尤其是maven。其思想是将程序实际运行所需的代码和资源与仅用于测试的代码和资源分开。

使用主文件夹和测试文件夹是一种惯例。分离不同的功能。主文件夹用于整个应用程序,而测试文件夹用于单元测试、集成测试等。。。实际上还有另一个文件夹,它是您放置xml、属性文件等的资源,而主文件夹包含
.java
文件。

可能重复的