Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么以及如何设置sbt';s和常春藤';主目录和缓存目录?_Sbt - Fatal编程技术网

为什么以及如何设置sbt';s和常春藤';主目录和缓存目录?

为什么以及如何设置sbt';s和常春藤';主目录和缓存目录?,sbt,Sbt,我想知道如何设置sbt和Ivy缓存目录 我在网上发现了一些相互矛盾的答案,所以想在这里查看 sbt -Dsbt.boot.directory=/home/user/.sbt/boot/ sbt -Dsbt.ivy.home=/home/user/.sbt/.ivy2/ 可以将它们设置为环境变量吗,还是它们需要在每个build.sbt中 如果它们是环境变量,它们会是sbt.boot.directory和sbt.ivy.home 在每个build.sbt中设置它们是否更好,还可以将它们设置为环境变

我想知道如何设置sbt和Ivy缓存目录

我在网上发现了一些相互矛盾的答案,所以想在这里查看

sbt -Dsbt.boot.directory=/home/user/.sbt/boot/
sbt -Dsbt.ivy.home=/home/user/.sbt/.ivy2/
可以将它们设置为环境变量吗,还是它们需要在每个
build.sbt

如果它们是环境变量,它们会是
sbt.boot.directory
sbt.ivy.home


在每个
build.sbt
中设置它们是否更好,还可以将它们设置为环境变量?

您不需要设置它们,因为sbt启动器已经知道它们的值

可以将它们设置为环境变量吗,或者它们是否需要在每个build.sbt中

如果您想更改它们,它们应该成为启动sbt启动器的命令行的一部分——它们是Java的系统属性,并设置为其他Java属性。它们不是生成设置。在
build.sbt
中甚至没有简单的方法来设置它们

如果它们是环境变量,它们会是sbt.boot.directory和sbt.ivy.home吗

不,它们不是环境变量

关于设置Java系统属性,sbt并没有什么特别的地方——只要把sbt看作是一个Java应用程序,它碰巧读取了系统属性和默认值,而它们不是

如果您是sbt新手,最好暂时忘记Java系统属性。您只需要记住,sbt的全局配置目录是
~/.sbt
,而
~/.ivy2/
是用于常春藤的。这就足够开始sbt了

在每个build.sbt中设置它们是否更好,还可以将它们设置为环境变量


考虑到您无法在
build.sbt
中设置它们(从sbt启动过程的角度设置构建过程已经太晚了),并且它们不是环境变量,当前形式的问题没有合理的答案(也许简单的“不,它不是”完全有意义).

Hi Jacek-谢谢你的提醒,但我想将全局配置设置为/var中的path,而不是~/。那可能吗?每次我运行sbt时都必须设置它。我希望它可以通过环境变量实现?这并不能回答问题。问题是如何覆盖it@tilde答案现在回答问题更好了吗?@androider答案现在回答问题更好了吗?可能是重复的