为什么我不需要java.base?

为什么我不需要java.base?,java,eclipse,Java,Eclipse,当我尝试导入javax.swing.JFrame时,eclipse会抱怨,因为我需要显式地告诉我的包我要从java.desktop模块导入内容。所以我把requires java.desktop放在我的module-info.java中,然后java编译器知道如何连接java.desktop。我也可以将requires java.base放在我的module-info.java中,但这似乎不是必需的。我可以导入java.util.array而不使用它 eclipse是否在幕后为我的javac选项

当我尝试导入javax.swing.JFrame时,eclipse会抱怨,因为我需要显式地告诉我的包我要从java.desktop模块导入内容。所以我把requires java.desktop放在我的module-info.java中,然后java编译器知道如何连接java.desktop。我也可以将requires java.base放在我的module-info.java中,但这似乎不是必需的。我可以导入java.util.array而不使用它

eclipse是否在幕后为我的javac选项添加了一些神奇的调味汁?javac是否自动要求java.base?为什么我不需要java.base?如果这是编译器的魔法,那么还有其他这样的特权模块可以自动链接到我的包中吗

使用jdk-14,但不确定是否相关。

这在:

7.7.1。依赖 requires指令指定当前模块依赖的模块的名称。 requires指令不得出现在java.base模块的声明中,否则会发生编译时错误,因为它是原始模块,不依赖§8.1.4。 如果模块的声明不表示对java.base模块的依赖,并且该模块本身不是java.base,则该模块隐式声明了对java.base模块的依赖

这类似于java.lang包中的类如何隐式导入到源文件中。模块不需要显式声明它们依赖于java.base模块。

这在中指定:

7.7.1。依赖 requires指令指定当前模块依赖的模块的名称。 requires指令不得出现在java.base模块的声明中,否则会发生编译时错误,因为它是原始模块,不依赖§8.1.4。 如果模块的声明不表示对java.base模块的依赖,并且该模块本身不是java.base,则该模块隐式声明了对java.base模块的依赖

这类似于java.lang包中的类如何隐式导入到源文件中。模块不需要显式声明它们依赖于java.base模块