【问题标题】:How can I change the default sbt temporary directory?如何更改默认的 sbt 临时目录?
【发布时间】:2020-11-16 12:40:45
【问题描述】:

SBT(scala 的交互式构建工具)在 Linux 中将其临时文件写入 /tmp 目录。如何更改默认临时目录?

【问题讨论】:

  • 哪些中间文件?我看到的唯一临时文件是目标文件夹下的文件。你是说那些吗?

标签: scala sbt default temporary-directory


【解决方案1】:

你使用的是什么版本的 sbt?

我之所以问这个 PR:https://github.com/sbt/sbt/pull/5289,它是为 sbt 1.4.0 合并的。

我假设您使用的是旧版本。如果您有理由坚持使用旧版本,请考虑设置 java.io.tmpdir 系统属性。

如果您已经使用 1.4.0 或更高版本,那么您需要告诉我们您看到哪些文件在什么条件下写入/tmp,因为 PR 暗示不应该发生这种情况。

【讨论】:

  • 我的 sbt 版本早于 1.4.0。我失去了对 /tmp 目录的写访问权限。当我启动 sbt 时出现异常:java.io.IOException: Permission denied at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createTempFile(File.java:2024) at java.io.File.createTempFile(File.java:2070) at sbt.StandardMain$$anonfun$initialGlobalLogging$1.apply(Main.scala:68)) 但是当我将系统属性 java.io.tmpdir 设置为另一个目录时它可以工作。谢谢。
  • @Seth Tisue 在 Windows 10 和 sbt 1.4.6 上,我看到 jar 临时存储在 C:\Users\USERNAME\AppData\Local\Temp\sbt_XXXXXX\*.jar 中,其中 XXXXXX 似乎是一些随机生成的字母数字字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 2015-04-13
  • 2017-04-20
相关资源
最近更新 更多