【问题标题】:Intellij Module Dependency Export OptionIntellij 模块依赖项导出选项
【发布时间】:2020-10-27 06:37:32
【问题描述】:

在 Intellij 中,您可以在项目结构下添加模块依赖项。
在 Dependency 选项卡下的 Export 下有一个复选框。如下所示。

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

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

备注:
在官方文档中,它说

Export 选项可让您控制依赖此模块的模块的编译类路径:标记的项目将包含在依赖模块的编译类路径中。

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

【问题讨论】:

    标签: intellij-idea dependencies


    【解决方案1】:

    有时,您需要敦促在依赖模块中泄漏依赖项。例如,您有模块 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)
    

    而且有时你不想将依赖项泄漏到编译类路径中,所以你需要取消选中这个选项

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 2019-12-13
      相关资源
      最近更新 更多