【问题标题】:A hard way to get rid of everything generated by sbt摆脱 sbt 产生的一切的艰难方法
【发布时间】:2014-06-30 12:43:11
【问题描述】:

An easy way to get rid of *everything* generated by SBT? 要求一种简单 方法来清理从 sbt 生成的所有文件,但没有找到。我会要求一个艰难的。如何使用 sbt 获得 make cleanall

更新:对于一切的定义,你必须知道为什么你需要clean all。有两个常见的原因:

  1. 要分发某些东西:您需要确认有人可以使用新机器,下载您的代码并毫无问题地构建它。 (或者,有人不能,而你想调试)。

  2. 当出现严重错误时。某处某个罐子的一些有趣版本正在以某种方式破坏某些东西。有时,最简单的方法是重新开始,而不是尝试调试...(参见 Jim Gray 的 Why Computers Stop

【问题讨论】:

  • 使用关于名为 target 的 rm dirs 的其他答案。但是等等,删除所有内容将包括删除本地 maven 和 ivy 的安装,这也是一个问题(快照)。
  • sbt 的启动器会下载 sbt JAR(引导程序),如果您在新机器上运行 sbt,还会将库 JAR 下载并缓存到 Ivy 缓存中。您是否将它们计入一切

标签: scala build sbt


【解决方案1】:

以下是您需要清洁的常见问题:

  • ~/.sbt/boot - sbt 自身的安全缓存以避免 JAR 怪人消失
  • ~/.sbt/**/target - 已编译的全局插件/构建定义。
  • ~/.ivy2/cache - 已解决依赖项的 Ivy 缓存
  • ~/.ivy2/local - publishLocal 文件
  • <cwd>/project/**/target - 编译的构建/插件定义
  • <cwd>/**/target - 构建项目的工件,包括编译器缓存、类文件等。

sbt 无法直接提供“清理所有内容”任务,因为删除 sbt 正在积极用于运行构建的 JAR/类会导致超级奇怪和邪恶的行为。但如果需要,您可以编写一个简单的 BASH 脚本来完成此操作。

【讨论】:

    猜你喜欢
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多