Java scala-bash:hw.scala:权限被拒绝

Java scala-bash:hw.scala:权限被拒绝,java,scala,sbt,filenotfoundexception,Java,Scala,Sbt,Filenotfoundexception,根据这篇文章,我用sbt安装了scala 但当我创建easy start项目时,我遇到了奇怪的输出: 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

根据这篇文章,我用sbt安装了scala

但当我创建easy start项目时,我遇到了奇怪的输出:

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)
  • 如何解决这个问题?

ls-l~/.sbt/boot返回什么?

看起来您解决了第一个问题。对于您遇到的第二个错误,请添加

导出SBT_OPTS=“-Xmx2G”


然后重试(根据需要更改2G部件取决于您的开发环境)。Sbt抱怨JVM堆大小不足,所以您需要增加它们。

它返回
-rw-r--r--1根根根目录0 Aug 13 10:42更新。log
拥有它:su chown-r nazar_art ~/.Sbt对于您的新版本,如果运气好的话,尝试将堆大小减小到1G?我有点怀疑,只是因为sbt在权限更改之前在JVM中运行,尽管存在IO错误。也许可以尝试以su的身份运行sbt,因为root拥有一切。
-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