我想知道是否有人在嘗試運行SBT時有java.io.FileNotFoundException
的任何經驗。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)
你能否提供更多的背景?即你剛剛安裝了sbt嗎?你給它的命令是什麼? (如果有的話) – Ashalynd
感謝您的回覆@Ashalynd,我想我已經明白了。出於某種原因,這是一個權限問題 - 我必須在所有無法找到的文件上執行'sudo chown me:me'命令。這是'project'和'target'中的所有文件。它現在似乎在工作。 –
當你運行sbt你得到的用戶權限,所以2選項,與sudo或更改文件權限運行 – Nimrod007