如何从源代码创建elastic4s的独立jar文件?

时间:2014-06-21 23:24:25

标签: scala sbt

我正在尝试从github上的elastic4s源创建一个独立的jar文件。我在github页面上详细使用了sbt compile,但我找不到jar文件。

如何使用sbt创建jar文件,以便将其作为依赖项导入到我的项目中?

1 个答案:

答案 0 :(得分:2)

compile任务只会编译项目。

> help compile
Compiles sources.

如果要创建jar文件并将其用作项目中的依赖项,则有两种方法可以执行此操作。

非托管依赖项(不推荐)

非托管依赖项运行+package,它将为每个受支持的scala版本创建一个jar文件,您可以在项目中将其用作非托管依赖项。将package生成的jar复制到项目中的lib文件夹。

jar文件将位于target/scala-2.11target/scala-2.10中,具体取决于您要使用的Scala版本。

发布到本地存储库(推荐但不完美)

如果要包含自定义构建的elastic4s作为托管依赖项,则必须运行+publishLocal。这将与上面相同,但另外它会将工件发布到您的本地存储库。假设您已使用version := "1.2.1.1-SNAPSHOT"构建它,只需添加:

即可将其包含在项目中
libraryDependencies += "com.sksamuel.elastic4s" %% "elastic4s" % "1.2.1.1-SNAPSHOT"

不完美方法的原因在于,一旦您在GitHub(或任何其他项目共享平台)上共享项目,人们就必须自己publishLocal才能构建您的项目项目。因此,依赖关系应该转到官方二进制存储库之一,因此当需要依赖关系时,它将从Internet下载。咨询Publishing

命令前面的+字符是什么

命令中的+用于cross-building,如果不使用它,则仅使用项目scalaVersion中声明的build.sbt执行命令