当使用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时,一切似乎都运行得很好,但是root项目的类并不包含在jar中(尽管库依赖项包含)。有什么解决办法吗?
发布于 2014-04-24 03:20:47
我从来没有像你一样尝试过轻量级配置,但是你不应该把oneJar设置放在根sbt文件中吗?您想要打包root并包含guy,对吗?
我今天第一次尝试了类似的方法,并从oneJar开始,但是当使用完整的sbt配置时,编译器抱怨设置是一个序列(_),而sbt需要一个单独的设置或类似的东西。我切换到sbt-assembly,它起作用了。
sbt-oneJar已经2年没有更新了,而sbt-assembly最近才更新。我不确定哪一个是首选的,但我更愿意使用一个活跃的工具。
https://stackoverflow.com/questions/23029347
复制相似问题