Intellij 模块依赖项导出选项

HKI*_*KIT 5 dependencies intellij-idea

在 Intellij 中,您可以在项目结构下添加模块依赖项。
依赖项选项卡下的导出下有一个复选框。如下所示。 在此处输入图片说明

我尝试选中 log4j 依赖项的复选框并重新编译它。输出路径中没有添加任何内容。如下所示。 在此处输入图片说明

谁能告诉我导出下的复选框有什么用?选中此复选框后的预期行为是什么?

备注:
在官方文档中是这样说的

导出选项允许您控制依赖于该模块的编译类路径:标记的项目将包含在依赖模块的编译类路径中。

但我不明白这是什么意思。非常感谢。

小智 3

有时,您需要敦促依赖模块中的泄漏依赖项。例如,你有模块 C,它是 B 的依赖项,如果 B 提供了一些你想要公开的 API 方法,例如,B 是库,你可能会使用模块 C 中的一些结构,并且当某人在例如,模块 A 将使用您的 API,访问这些结构会存在问题,因为这些类不会添加到模块 A 的编译类路径中。

A --- using this API requires C in compile classpath
    |
    B --- API uses these structures
         C - data structures (should be exported when enumerated in B)
Run Code Online (Sandbox Code Playgroud)

有时您不希望将依赖项泄漏到编译类路径中,因此您需要取消选中此选项

如果您不知道编译类路径是什么意思,请阅读以下内容:https: //dzone.com/articles/runtime-classpath-vs-compile