sbt 目录结构中非托管 jar 的 lib 目录在哪里?

Where does the lib directory for unmanaged jars in sbt directory structure go?

我正在尝试将 jar 文件添加到 sbt 项目中,但我不知道将它们存储在哪里。 sbt 文档说 "Just drop them in the lib folder, and you're good!",但不提供任何有关实际放置此 lib 文件夹的位置的信息。 lib 文件夹是否在 src 下?在 src 文件夹所在的顶层层次结构中?我真的不确定,希望得到一些帮助。

我想是的,在文件层次结构的顶部。 此外,如果您使用 Eclipse、InteliJ 等现代 IDE,只需按照以下步骤操作即可:

  • 右键单击项目文件树中的[项目名称]
  • 属性
  • Java 构建路径 --> 库
  • 添加外部 Jar

如果您需要更多帮助,请直言。

在前一个选项中(将 jar 文件拖到项目中),您将执行以下操作:

  • 在项目的根目录中,src 所在的位置,创建一个名为 lib 或其他名称的新文件,并将 jar 文件拖入其中。在此之后,您将需要重新配置构建路径,或者如果您使用的是现代 IDE,您只需右键单击 lib 文件和 select Build Path --> Add to Build Path .

根据 http://alvinalexander.com/scala/how-to-create-sbt-project-directory-structure-scala ,lib 应该是项目目录的子目录。我刚刚试了一下,有效。

    .
    |-- build.sbt
    |-- lib
    |-- project
    |-- src
    |   |-- main
    |   |   |-- java
    |   |   |-- resources
    |   |   |-- scala
    |   |-- test
    |       |-- java
    |       |-- resources
    |       |-- scala
    |-- target

如果你有多模块项目,你应该:

  1. 将库添加到模块目录(而不是根目录)。例如,如果您有模块 core,您应该将 jar 添加到 core/lib.
  2. 删除 build.sbt(或其他地方)中指定 jar 的显式依赖。例如,删除 libraryDependencies += <your jar in lib>

相关问题:https://whosebug.com/posts/67116531