scala - 摆脱 sbt 生成的所有内容的艰难方法

标签 scala build sbt

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

更新:要定义一切,您必须知道为什么需要清理所有。有两个常见的原因:

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

  2. 当出现严重错误时。某个地方某个 jar 的一些有趣版本以某种方式破坏了某些东西。有时最简单的方法是重新开始,而不是尝试调试...(请参阅 Jim Gray 的计算机为何停止运行)

最佳答案

以下是您需要清洁的常见疑点:

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

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

关于scala - 摆脱 sbt 生成的所有内容的艰难方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621134/

相关文章:

scala - SBT 0.12.0 和 Scala 2.10.0 的 sbt-idea 1.2.0 未解决?

scala - Spark : unpersist RDDs for which I have lost the reference

scala - sbt,编译编译器桥

xml - Scala XML,获取父节点具有属性值匹配的节点

docker - 在 dockerfile 中构建项目时, "Unable to find fallback package folder"nuget 错误来自哪里?

java - 构建自动化以创建仅存在差异的 jar 文件

java - Ant 不编译 *.properties 文件

sbt - 我怎么知道我正在运行哪个版本的SBT?

scala - 尝试远程调试 Spark 应用程序 : java. io.IOException“握手失败 - 连接过早关闭”

scala - 专门集合中的 AnyVal 元素是否需要装箱?