我的sbt文件使用akka-sbt-plugin
在target/<project>-dist
目录中创建Akka微内核。该目录包含子目录bin
,config
,deploy
和lib
。
我想将该目录压缩为单个tarball。
我尝试将sbt-native-packager
与Universal
目标一起使用,但我不明白如何使mappings
工作。
sbt-native-packager
还有什么路要走?如何引用akka-sbt-plugin
创建的目录?有没有更好的方法来压缩目录?
更新 - 添加更多信息
我的plugins.sbt等等:
addSbtPlugin("com.typesafe.akka" % "akka-sbt-plugin" % "2.2.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.6.3")
要从akka-sbt-plugin
获取输出,我在sbt中使用dist
。这会在target/myproject-dist
中生成一个充满有用内容的目录。我想将该目录压缩为单个tarball(并以某种方式理解如何将命令链接到akka-sbt-plugin
的输出,因为我知道这是最佳实践。)
答案 0 :(得分:2)
使用sbt-native-packager:
的build.sbt示例import com.typesafe.sbt.packager.Keys._
import com.typesafe.sbt.SbtNativePackager._
packageArchetype.java_application
mappings in Universal ++= {
((file("src/main/resources") * "*").get map { f => f -> ("conf/" + f.name) }) ++
((file("bin") * "*").get map { f => f -> ("bin/" + f.name) })
}