【发布时间】:2020-11-16 12:40:45
【问题描述】:
SBT(scala 的交互式构建工具)在 Linux 中将其临时文件写入 /tmp 目录。如何更改默认临时目录?
【问题讨论】:
-
哪些中间文件?我看到的唯一临时文件是目标文件夹下的文件。你是说那些吗?
标签: scala sbt default temporary-directory
SBT(scala 的交互式构建工具)在 Linux 中将其临时文件写入 /tmp 目录。如何更改默认临时目录?
【问题讨论】:
标签: scala sbt default temporary-directory
你使用的是什么版本的 sbt?
我之所以问这个 PR:https://github.com/sbt/sbt/pull/5289,它是为 sbt 1.4.0 合并的。
我假设您使用的是旧版本。如果您有理由坚持使用旧版本,请考虑设置 java.io.tmpdir 系统属性。
如果您已经使用 1.4.0 或更高版本,那么您需要告诉我们您看到哪些文件在什么条件下写入/tmp,因为 PR 暗示不应该发生这种情况。
【讨论】:
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 设置为另一个目录时它可以工作。谢谢。
C:\Users\USERNAME\AppData\Local\Temp\sbt_XXXXXX\*.jar 中,其中 XXXXXX 似乎是一些随机生成的字母数字字符串