SBT项目如何从GitHub导入库克隆到本地目录?

2024-02-04

我从 GitHub 分叉了一个 Scala 库,我想将其导入到另一个项目中。

我如何告诉 sbt 在哪里可以找到这个包?

例如,我正在编写一个程序~/code/scala/myProgram,我想从中导入一个库~/code/scala/otherlib.


如果您克隆的项目支持它(即,如果它支持 SBT 并且配置为发布到存储库),您可以使用sbt命令sbt publish-local。例如:

cd ~/code/scala/otherlib
sbt publish-local

这将在您的本地 Ivy 存储库中构建并发布该库(通常为~/.ivy2/local)。请注意,每次修改时都需要重复此操作otherlib来源。

项目本地发布到本地ivy仓库后,您可以指定otherlib作为 SBT 项目中的依赖项,使用分叉库原始版本的常规 SBT 依赖项(假设您没有更改其 ID、版本、组 ID 等)。例如,通过添加:

libraryDependencies += "com.some_company" % "otherlib" % "1.0.0"

to your build.sbt file.

现在,当你构建your项目,它会发现otherlib在您本地的 Ivy 存储库中(就好像它是从常规存储库中拉取的一样)并将使用您的自定义版本。

If otherlib不支持 SBT,或者未配置为发布到存储库,并且您不想修改它来执行此操作,那么您只需将其 .jar 文件复制到/lib目录 (~/code/scala/myProgram/lib)您的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SBT项目如何从GitHub导入库克隆到本地目录? 的相关文章

随机推荐