scala – 将sbt配置为不使用用户主目录

上周,我们在CI服务器上更改了用户目录权限,我们不再具有对用户主目录的写入权限.因此sbt无法启动,因为它无法使用以下堆栈跟踪写入〜/ .ivy等.

java.io.IOException: No such file or directory
  at java.io.UnixFileSystem.createFileExclusively(Native Method)
  at java.io.File.createNewFile(File.java:1006)
  at xsbt.boot.Locks$.apply0(Locks.scala:34)
  at xsbt.boot.Locks$.apply(Locks.scala:28)
  at xsbt.boot.Launch.locked(Launch.scala:238)
  at xsbt.boot.Launch.app(Launch.scala:147)
  at xsbt.boot.Launch.app(Launch.scala:145)
  at xsbt.boot.Launch$.run(Launch.scala:102)
  at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
  at xsbt.boot.Launch$.launch(Launch.scala:117)
  at xsbt.boot.Launch$.apply(Launch.scala:18)
  at xsbt.boot.Boot$.runImpl(Boot.scala:41)
  at xsbt.boot.Boot$.main(Boot.scala:17)
  at xsbt.boot.Boot.main(Boot.scala)
 Error during sbt execution: java.io.IOException: No such file or directory

我知道我们可以设置一些sbt变量,例如the boot directory.我还没有找到我们可以配置的所有变量的确定列表,否则认为user home的子目录.我还没有找到设置认根目录的方法,这可能反过来影响所有这些变量.

任何人都可以指出如何配置sbt,使其不使用用户的主目录的任何文件

解决方法

如果您希望在不同的位置使用.ivy运行,并且您正在使用sbt extras启动脚本,那么您应该能够:

sbt -ivy /path/to/ivy package

并且它会将所有常春藤内容下载到指定的位置并运行您需要的任何命令(在此示例中,包)

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...