我想了解如何设置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
中设置它们,还可能在环境变量中设置它们吗?
答案 0 :(得分:0)
你不需要设置它们,因为sbt启动器已经知道它们的值。
这些可以设置为环境变量还是需要在每个build.sbt中?
如果你想更改它们,它们应该成为启动sbt启动器的命令行的一部分 - 它们是Java的系统属性,并被设置为其他Java属性。它们不是构建设置。甚至没有简单的方法在build.sbt
中设置它们。
如果他们是环境变量,他们会是sbt.boot.directory和sbt.ivy.home吗?
没有。它们不是环境变量。
关于设置Java系统属性没有什么特别之处 - 只需将sbt视为恰好读取系统属性的Java应用程序,而不是将它们视为默认值。
如果您是sbt的新手,那么现在最好忘记Java系统属性。你只需要记住sbt的全局配置目录是~/.sbt
,而~/.ivy2/
是Ivy的东西。这足以让sbt继续下去。
最好在每个build.sbt中设置它们,还可能作为环境变量?
鉴于您无法在build.sbt
中设置它们(在从sbt启动过程的角度设置构建的过程中为时已晚)并且它们不是环境变量,那么当前形式的问题没有明智的答案(也许一个简单的“不,它不是”可能有意义)。