【问题标题】:Extract .tar.gz file in Build.scala (without external libraries)在 Build.scala 中提取 .tar.gz 文件(没有外部库)
【发布时间】:2015-03-15 04:37:21
【问题描述】:

有很多关于在 Java/Scala 中提取 .tar.gz 文件的问题,但所有这些问题都涉及使用一些库到 extract the tar fileGZIPInputStream 是 Java SE 的一部分,但我不知道使用 Java SE 提取 tarball 的方法。

据我所知,当我在Build.scala 中时,我无法使用我引入的依赖项。但我需要提取这个tar.gz 文件。我如何在不依赖外部库的情况下做到这一点?

【问题讨论】:

    标签: scala sbt gzip tar


    【解决方案1】:

    sbt 构建文件是递归的;您可以在project/project/Build.scalaproject/build.sbt 中为构建文件指定库依赖项。

    例如

    project/build.properties

    sbt.version=0.13.7
    

    project/build.sbt

    libraryDependencies += "de.sciss" % "model_2.10" % "0.3.2"
    

    然后您就可以在 ./build.sbt 中使用该库:

    lazy val foo = de.sciss.model.Change(1, 2) // from the library
    
    name := foo.toString
    

    测试:sbt name

    【讨论】:

    • 我想这是可行的,感谢您提醒我这一点,但我希望有一种方法可以仅使用标准库来实现。如果仅使用标准库无法做到这一点,我将在此处通过您的方法使用 apache commons TarArchiveInputStream
    • 如果你在 *nix 平台上,你可能只需要调用一个 shell 命令来解压缩。
    • 是的,我考虑过,但我想确保如果我们开源我们的工作,我构建的东西可以在 Windows 上运行。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-01-02
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多