2

我在一个 scala 项目中有一个依赖项,我想将它包含在其中,这样它就可以在项目中使用,而不必为使用该项目的每个人使用 Internet。换句话说,我想做一种“本地发布”,但有点不同:本地发布仅在我的机器上本地发布,使用该项目的每个人也必须在他们的机器上本地发布它,而我想发布这个依赖直接在这个 scala 项目中。

有可能吗?怎么做?

更新

我想通过 Internet 将该项目提供给一个人。我希望他们只下载我的项目,而不必下载其他任何东西。但是我的项目有一个外部依赖项,我可以自己下载。

我可以将此依赖项(在自己下载后)包含到项目中并将项目提供给该人,以便他们能够成功运行它吗?如何?我如何让 sbt 从项目而不是从 Internet 或其他任何地方加载它?

4

1 回答 1

3

您试图将项目交给这个人:您希望他们能够自己构建您的项目,还是仅仅运行它?

  • 如果您希望其他人能够构建它:将库添加为非托管依赖项,如此所述。将库 jar 放在lib项目顶层的目录中,并将 jar 作为项目的一部分检查到版本控制中。

  • 如果您只希望其他人能够运行它,则:

    • 使用 sbt-assembly 插件 ( https://github.com/sbt/sbt-assembly ) 创建一个包含已编译代码和库的已编译代码的 jar。

    • 或者只是将其保留为两个单独的 jar(您的和库),并将这两个 jar 提供给您的用户,也许还有一个启动脚本。

于 2013-11-16T23:16:04.383 回答