【发布时间】:2014-06-22 15:10:13
【问题描述】:
我正在尝试从 github 上的 elastic4s 源创建一个独立的 jar 文件。我使用了sbt compile github页面上的详细说明,但我找不到jar文件。
如何使用 sbt 创建 jar 文件,以便将其作为依赖项导入到我的项目中?
【问题讨论】:
我正在尝试从 github 上的 elastic4s 源创建一个独立的 jar 文件。我使用了sbt compile github页面上的详细说明,但我找不到jar文件。
如何使用 sbt 创建 jar 文件,以便将其作为依赖项导入到我的项目中?
【问题讨论】:
compile 任务只会编译项目。
> help compile
Compiles sources.
如果您想创建一个 jar 文件并将其用作项目中的依赖项,您有两种方法。
非托管依赖运行+package,它将为每个受支持的 scala 版本创建一个 jar 文件,您可以在项目中将其用作非托管依赖。将 package 生成的 jar 复制到项目中的 lib 文件夹中。
jar 文件将位于 target/scala-2.11 和 target/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的,如果不使用该命令只会使用项目的build.sbt中声明的scalaVersion执行。
【讨论】: