gpt4 book ai didi

sbt - 为什么和/或何时避免使用transitive()或inTransitive()?

转载 作者:行者123 更新时间:2023-12-04 18:14:48 26 4
gpt4 key购买 nike

我目前有一个仅在编译时需要依赖项的SBT子项目,所以我认为这是使用intransitive的好地方,因此使用它的项目将不需要下载该依赖项。

但是,根据SBT reference manual:

In some instances, you may find that the dependencies listed for a project aren’t necessary for it to build. Projects using the Felix OSGI framework, for instance, only explicitly require its main jar to compile and run. Avoid fetching artifact dependencies with either intransitive() or notTransitive()



该措辞有点令人困惑,因为它不鼓励使用 transitive()notTransitive()而没有解释为什么或何时(始终?)。

最佳答案

不鼓励intransitive是因为:

  • 下游用户在其POM中看不到它,并且可能会破坏其运行时,
  • 即使他们知道要添加的依赖项,其版本也不会与上游同步。
  • provided为预期依赖项在运行时保留,例如应用程序容器。

    对于在运行时不需要依赖关系的情况,仅在编译时,我将保留 intransitive。例如编译器注释

    关于sbt - 为什么和/或何时避免使用transitive()或inTransitive()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153076/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com