什么是';模块';实际上,在intellij的想法中?它与Java模块不同吗?

什么是';模块';实际上,在intellij的想法中?它与Java模块不同吗?,java,intellij-idea,Java,Intellij Idea,几天前我切换到IntelliJ IDEA,并对IDE进行了一些研究。就像.iml、.idea等文件/目录一样。 但是我不明白“src”文件夹是什么。这里的其他答案表明它是一个模块,但我使用的是JDK1.8,它没有JDK9的模块化特性。那么这个文件夹是什么呢?您将两种或三种不同的“模块”混为一谈 Maven模 在Maven驱动的项目中,可能是当今Java开发人员最常用的项目,一个项目可以由多个子项目构建,每个子项目分别编译。这些子项目称为 IntelliJ项目模块 在Maven、Gradle和Iv

几天前我切换到IntelliJ IDEA,并对IDE进行了一些研究。就像.iml、.idea等文件/目录一样。
但是我不明白“src”文件夹是什么。这里的其他答案表明它是一个模块,但我使用的是JDK1.8,它没有JDK9的模块化特性。那么这个文件夹是什么呢?

您将两种或三种不同的“模块”混为一谈

Maven模 在Maven驱动的项目中,可能是当今Java开发人员最常用的项目,一个项目可以由多个子项目构建,每个子项目分别编译。这些子项目称为

IntelliJ项目模块 在Maven、Gradle和Ivy等开源代码和依赖项项目管理工具兴起之前的几年,IDE都有自己的专有项目管理系统和元数据文件格式

如果我没记错的话,IntelliJ用于定义项目的专有系统包括“模块”

如果您正在为您的项目使用专有的项目工具,我强烈建议您从一个新的Maven驱动的项目开始。Maven带来了一点学习曲线,但很值得,因为它节省了很多时间和以后的麻烦。此外,如果您想要切换工具,Maven项目可以很容易地移动到另一个IDE

Java模块化 除了包名称空间之外,Java9还对类的组织方式引入了一个重要的补充。这正式称为。也被非正式地称为项目代码名,项目Jigsaw

模块系统定义了一种分发格式,用于将类和类物理捆绑在一起。以前与每个JVM捆绑在一起的标准类现在被重新组合到单独的Java模块中。现在,您可以构建一个控制台应用程序或桌面应用程序,其中包含自己的JVM,并且只包含应用程序实际使用的标准类。可以省略标准Java类的整个模块,从而减小最终应用程序的大小


此模块系统与上面讨论的其他两种项目“模块”不同。

IntelliJ idea模块和Java模块之间有区别。请查看。
src
目录是一个。这两个都与IntelliJ有关。Java 9中添加的模块系统是Java本身的一部分;IntelliJ模块可能包含Java 9模块。@请欣赏链接,它澄清了混淆。谢谢我建议你修改这个问题的标题,把重点放在“模块”这个词上,而不是“src”。这可能会避免否决票,并有助于未来的Java新手。