[英]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.