如何使用sbt创建自定义scala库?

如何使用sbt创建自定义scala库?,scala,sbt,Scala,Sbt,正如tin上所说,我如何使用sbt创建库 我有一套实用程序和方便的功能,我想在我的项目之间轻松地分配它们。当然,最简单的方法是将它们编译成一个库,然后我可以将它包含在任何使用它的给定项目的构建路径中 与具有相同类的多个副本相比,库通常更容易包含在多个项目中。那么我该怎么做呢?只要用库代码创建一个项目,然后使用publishLocal命令将其放入本地常春藤repo。然后,您可以将其包括在其他项目中 对于您的案例来说,下面这一点可能有些过分,但我已经概述了如何为一个开源项目完成所有这些。也许你会用它

正如tin上所说,我如何使用sbt创建库

我有一套实用程序和方便的功能,我想在我的项目之间轻松地分配它们。当然,最简单的方法是将它们编译成一个库,然后我可以将它包含在任何使用它的给定项目的构建路径中


与具有相同类的多个副本相比,库通常更容易包含在多个项目中。那么我该怎么做呢?

只要用库代码创建一个项目,然后使用
publishLocal
命令将其放入本地常春藤repo。然后,您可以将其包括在其他项目中


对于您的案例来说,下面这一点可能有些过分,但我已经概述了如何为一个开源项目完成所有这些。也许你会用它作为灵感,让我们大家都能享受它。:)

我看到它编译成
.class
文件。。。我以为库是
.jar
s,除非我错了,
package
会将它们打包成一个jar文件
publish local
取决于该任务,然后将jar放入位于
~/.ivy/local
的本地ivy repo。从
sbt
命令提示符,执行
publish local
任务。它将把类文件放在一个jar中,并通过本地ivy缓存将它们提供给其他项目。然后你可以把它作为一个依赖项包含在你的其他项目中。您只需运行
任务,jar将位于
target/scala-2.XX
目录中,其中
XX
是您的scala版本。@我知道思考Maven和其他东西有点神秘,但花时间学习基础知识是值得的。SBT是为了与这些工具很好地交互而构建的,任何想使用您的库的人都可以很容易地以最熟悉的方式链接到这些项目——有点像NPM、Gem或Pip。