将 akka-sbt-plugin 输出目录压缩为单个 tar(可能使用 sbt-native-packager)?

Posted

技术标签:

【中文标题】将 akka-sbt-plugin 输出目录压缩为单个 tar(可能使用 sbt-native-packager)?【英文标题】:Compressing akka-sbt-plugin output directories to single tar (possibly with sbt-native-packager)? 【发布时间】:2014-02-22 09:20:31 【问题描述】:

我的 sbt 文件使用 akka-sbt-plugintarget/<project>-dist 目录中创建 Akka 微内核。该目录有子目录binconfigdeploylib

我想将该目录压缩成一个 tarball。

我尝试将sbt-native-packagerUniversal 目标一起使用,但我不明白如何使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 的输出,因为我知道这是最佳实践。)

【问题讨论】:

【参考方案1】:

带有 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) )

【讨论】:

感谢您的回答,但如何将 akka-sbt-plugin 的输出链接到此? 哦,所以现在已经删除了 akka-sbt-plugin。 doc.akka.io/docs/akka/2.3.0-RC1/project/… 谢谢!

以上是关于将 akka-sbt-plugin 输出目录压缩为单个 tar(可能使用 sbt-native-packager)?的主要内容,如果未能解决你的问题,请参考以下文章

linux下文件的压缩和解压缩

Linux 压缩解压及备份命令

多核 gzip 解压缩,将输出文件 (csv) 拆分为 1Gb/文件

ASP.NET Core MVC压缩样式脚本及总是复制文件到输出目录

将目录作为压缩文件从 Elastic MapReduce 上传到 S3

使用 PyLZMA 和 py7zlib 将文件夹递归压缩为 7z