我根据这篇文章Getting started用sbt安装了scala。
但是当我创建简易启动项目Hello world时,我遇到了奇怪的输出:
nazar_art@nazar-desctop:~$ find .sbt
.sbt
.sbt/.lib
.sbt/.lib/0.12.1
.sbt/.lib/0.12.1/sbt-launch.jar
.sbt/boot
.sbt/boot/update.log
nazar_art@nazar-desctop:~$ cd hello
nazar_art@nazar-desctop:~/hello$ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala
bash: hw.scala: Permission denied
nazar_art@nazar-desctop:~/hello$ sbt
java.io.FileNotFoundException: /home/nazar_art/.sbt/boot/update.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
at java.io.FileWriter.<init>(FileWriter.java:90)
at xsbt.boot.Update.<init>(Checks.java:51)
at xsbt.boot.Launch.update(Launch.scala:266)
at xsbt.boot.Launch$$anonfun$jnaLoader$1.apply(Launch.scala:111)
at scala.Option.getOrElse(Option.scala:108)
at xsbt.boot.Launch.jnaLoader$2f324eef(Launch.scala:106)
at xsbt.boot.Launch.<init>(Launch.scala:85)
at xsbt.boot.Launcher$.apply(Launch.scala:281)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Boot$.runImpl(Boot.scala:31)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.io.FileNotFoundException: /home/nazar_art/.sbt/boot/update.log (Permission denied)
我无法理解为什么会发生这种情况因为我su
任何建议。
修改
我将chmod 777
用于update.log。
但是现在当我尝试运行时,我有:
-rwxrwxrwx 1 root root 63 Aug 13 11:17 hw.scala
nazar_art@nazar-desctop:~/hello$ sudo echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala
nazar_art@nazar-desctop:~/hello$ sbt
Error occurred during initialization of VM
Could not reserve enough space for object heap
答案 0 :(得分:1)
'ls -l~ / .sbt / boot'会返回什么?
答案 1 :(得分:0)
看起来您解决了第一个问题。对于您遇到的第二个错误,请添加
导出SBT_OPTS =“ - Xmx2G”
并重试(根据您的需要改变2G部分取决于您的开发环境)。关于缺少JVM堆大小的抱怨,所以你需要增加它们。