将本地发布到项目本身

时间:2013-11-15 05:42:53

标签: scala dependencies sbt

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

是否可能以及如何?

更新

我想通过互联网将这个项目交给一个人。我希望他们只下载我的项目,而不必下载任何其他内容。但我的项目有一个外部依赖项,我可以自己下载。

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

1 个答案:

答案 0 :(得分:3)

此人正在尝试为您的项目提供:您是希望他们能够构建您自己的项目,还是只是运行它?

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

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

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

    • 或者只是将它作为两个独立的罐子(你的和库),并为你的用户提供两个罐子,也许还有一个启动脚本。