【问题标题】:SBT throws java.io.FileNotFoundException: (Permission denied) on project folderSBT 在项目文件夹上抛出 java.io.FileNotFoundException: (Permission denied)
【发布时间】:2014-03-01 21:48:30
【问题描述】:

我想知道是否有人在尝试运行 SBT 时使用 java.io.FileNotFoundException。

当我尝试让 SBT 运行时,我收到以下错误。这发生在我尝试加载项目定义时输入sbt 之后。

我检查了它说它无法访问的文件,它们肯定在那里,我完全不知道它为什么这样做。

堆栈跟踪如下:

[debug] Running task... Cancelable: false, check cycles: false
java.io.FileNotFoundException: /home/blah/blah/project/target/streams/$global/compilers/$global/out (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 sbt.std.Streams$$anon$3$$anon$2$$anonfun$text$1.apply(Streams.scala:80)
    at sbt.std.Streams$$anon$3$$anon$2$$anonfun$text$1.apply(Streams.scala:80)
    at sbt.std.Streams$$anon$3$$anon$2.make(Streams.scala:91)
    at sbt.std.Streams$$anon$3$$anon$2.text(Streams.scala:80)
    at sbt.std.Streams$$anon$3$$anon$2.log(Streams.scala:85)
    at sbt.std.TaskStreams$class.log(Streams.scala:31)
    at sbt.std.Streams$$anon$3$$anon$2.log(Streams.scala:69)
    at sbt.EvaluateTask$$anonfun$logIncomplete$2.log$1(EvaluateTask.scala:95)
    at sbt.EvaluateTask$$anonfun$logIncomplete$2.apply(EvaluateTask.scala:99)
    at sbt.EvaluateTask$$anonfun$logIncomplete$2.apply(EvaluateTask.scala:94)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:76)
    at sbt.EvaluateTask$.logIncomplete(EvaluateTask.scala:94)
    at sbt.EvaluateTask$.logIncResult(EvaluateTask.scala:86)
    at sbt.EvaluateTask$.run$1(EvaluateTask.scala:149)
    at sbt.EvaluateTask$.runTask(EvaluateTask.scala:160)
    at sbt.EvaluateTask$$anonfun$apply$1$$anonfun$apply$3.apply(EvaluateTask.scala:84)
    at sbt.EvaluateTask$$anonfun$apply$1$$anonfun$apply$3.apply(EvaluateTask.scala:83)
    at scala.Option.map(Option.scala:133)
    at sbt.EvaluateTask$$anonfun$apply$1.apply(EvaluateTask.scala:83)
    at sbt.EvaluateTask$$anonfun$apply$1.apply(EvaluateTask.scala:82)
    at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:120)
    at sbt.EvaluateTask$.apply(EvaluateTask.scala:82)
    at sbt.EvaluateTask$.evalPluginDef(EvaluateTask.scala:69)
    at sbt.Load$$anonfun$2.apply(Load.scala:51)
    at sbt.Load$$anonfun$2.apply(Load.scala:51)
    at sbt.Load$.buildPluginDefinition(Load.scala:496)
    at sbt.Load$.buildPlugins(Load.scala:477)
    at sbt.Load$.plugins(Load.scala:465)
    at sbt.Load$.loadUnitNew(Load.scala:419)
    at sbt.Load$.loadUnit(Load.scala:410)
    at sbt.Load$$anonfun$13$$anonfun$apply$11.apply(Load.scala:252)
    at sbt.Load$$anonfun$13$$anonfun$apply$11.apply(Load.scala:252)
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:94)
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:93)
    at sbt.BuildLoader.apply(BuildLoader.scala:137)
    at sbt.Load$.loadAll(Load.scala:307)
    at sbt.Load$.loadURI(Load.scala:260)
    at sbt.Load$.load(Load.scala:256)
    at sbt.Load$.load(Load.scala:247)
    at sbt.Load$.apply(Load.scala:124)
    at sbt.Load$.defaultLoad(Load.scala:39)
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:400)
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:394)
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:394)
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
    at sbt.Command$.process(Command.scala:90)
    at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(MainLoop.scala:71)
    at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(MainLoop.scala:71)
    at sbt.State$$anon$2.process(State.scala:170)
    at sbt.MainLoop$$anonfun$next$1.apply(MainLoop.scala:71)
    at sbt.MainLoop$$anonfun$next$1.apply(MainLoop.scala:71)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.MainLoop$.next(MainLoop.scala:71)
    at sbt.MainLoop$.run(MainLoop.scala:64)
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:53)
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:50)
    at sbt.Using.apply(Using.scala:25)
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:50)
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:33)
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:17)
    at sbt.MainLoop$.runLogged(MainLoop.scala:13)
    at sbt.xMain.run(Main.scala:26)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
    at xsbt.boot.Launch$.run(Launch.scala:57)
    at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
    at xsbt.boot.Launch$.launch(Launch.scala:65)
    at xsbt.boot.Launch$.apply(Launch.scala:16)
    at xsbt.boot.Boot$.runImpl(Boot.scala:32)
    at xsbt.boot.Boot$.main(Boot.scala:21)
    at xsbt.boot.Boot.main(Boot.scala)

【问题讨论】:

  • 您能否提供更多背景信息? IE。你刚刚安装了sbt吗?你给它的命令是什么? (如果有)
  • 感谢您的回复@Ashalynd,我想我已经弄清楚了。出于某种原因,这是一个权限问题——我必须对它无法“找到”的所有文件执行sudo chown me:me。这是project 和target 中的所有文件。它现在似乎可以工作了。
  • 当你运行 sbt 时你会获得用户权限,所以 2 个选项,使用 sudo 运行或更改文件权限

标签: scala sbt


【解决方案1】:

(Permission denied) 错误表示您可能正在从一个用户运行sbt 命令,而该用户对您输入的项目sbt 没有权限。

使用chown -R youruser:youruser /path/to/project 更改文件夹权限,它应该会修复它。

【讨论】:

    【解决方案2】:

    问题可能是您以 root 身份运行 sbt 并且目标文件夹中的几个目录成为 root(因此权限被拒绝问题)。您只需运行sudo rm -rf target/ 然后sbt clean compile 即可重新获得您帐户下的那些编译文件。为我工作。

    【讨论】:

      【解决方案3】:

      这两个答案都没有帮助到我,但@Priyatham 提出了一个好主意:我还删除了project/project 和project/target 文件夹——它奏效了。

      【讨论】:

        猜你喜欢
        • 2014-01-03
        • 2011-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多