繁体   English   中英

sbt-onejar和多项目构建

[英]sbt-onejar and multi-project build

当使用oneJar打包多项目sbt构建时,项目依赖项不会捆绑到jar中。 我的设置如下:

foo/build.sbt          (top-level build.sbt)
foo/src/               (sources of the root project)
foo/gui/build.sbt      (project 'build' definition)
foo/gui/src            (sources of the 'gui' project)

构建定义为:

// foo/build.sbt

name := "foo"

version := "0.0.1"

scalaVersion := "2.10.4"

lazy val root = project.in( file(".") )

lazy val gui = project.in( file("gui") ).dependsOn( root )

[...]

//foo/gui/build.sbt

name := "foo-gui"

seq(com.github.retronym.SbtOneJar.oneJarSettings: _*)

[...]

gui项目上调用oneJar时,一切似乎运行良好,但是jar项目中不包含root项目的类(尽管库相关性已包含)。 有什么解决办法吗?

我从来没有尝试过像您这样的简单配置,但是您不应该将oneJar设置放在根sbt文件中吗? 您想打包根目录并包含Guy吗?

我今天第一次尝试类似的方法,并从oneJar开始,但是当使用完整的sbt配置时,编译器抱怨设置是Seq(_),而sbt期望使用单个设置或类似的设置。 我切换到sbt-assembly ,它起作用了。

sbt-oneJar已有两年未更新,而sbt-assembly最近已更新。 我不确定哪个是首选,但我宁愿使用一个活跃的工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM