我从 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(使用前将#替换为@)