Intellij 无法导入 SBT 项目
Intellij Fails to Import SBT project
我正在尝试将 sbt 项目导入 intellij 14,但是,这是我打开项目时得到的:
错误:导入 SBT 项目时出错:
...
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.io.FileNotFoundException: /home/karthik/Play2.4/Directory/target/.history
(Permission denied)
[error] Use 'last' for the full log.
查看完整的登录信息/home/karthik/.IdeaIC14/system/log/sbt.last.log
这是我的 sbt.last.log 文件
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384M; support
was removed in 8.0
[info] Loading project definition from /home/karthik/Play2.4/Rocket_Singh/project
[info] Set current project to Rocket_Singh
(in build file:/home/karthik/Play2.4/Rocket_Singh/)
[Rocket_Singh] $ java.io.FileNotFoundException:
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
at jline.console.history.FileHistory.flush(FileHistory.java:87)
at sbt.JLine.readLineWithHistory(LineReader.scala:28)
at sbt.JLine.sbt$JLine$$unsynchronizedReadLine(LineReader.scala:19)
at sbt.JLine$$anonfun$readLine.apply(LineReader.scala:16)
at sbt.JLine$$anonfun$readLine.apply(LineReader.scala:16)
at sbt.JLine$$anonfun$withJLine.apply(LineReader.scala:114)
at sbt.JLine$$anonfun$withJLine.apply(LineReader.scala:112)
at sbt.JLine$.withTerminal(LineReader.scala:86)
at sbt.JLine$.withJLine(LineReader.scala:112)
at sbt.JLine.readLine(LineReader.scala:16)
at sbt.BasicCommands$$anonfun$shell.apply(BasicCommands.scala:164)
at sbt.BasicCommands$$anonfun$shell.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$$anonfun$apply.apply(Command.scala:29)
at sbt.Command$$anonfun$command$$anonfun$apply.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$$anonfun$apply.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$$anonfun$apply.apply(MainLoop.scala:98)
at sbt.State$$anon.process(State.scala:184)
at sbt.MainLoop$$anonfun.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.io.FileNotFoundException:
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
[error] Use 'last' for the full log.
/home/karthik/Play2.4/Directory/target/.history (Permission denied)
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
这些消息表明您没有访问这些路径的权限。检查用户 运行 intellij 是否对 .history
具有写入权限。在 Linux 中,您可以通过 :
cd /home/karthik/Play2.4/Directory/target/
ls -l
如果 .history
是一个文件,响应将类似于
-rw-rw-r-- 1 karthik karthik 961 Aug 30 18:26 .history
其中rw
表示读写,2个名字分别是用户名和组名
我也遇到了同样的问题,正如 Manos Nikolaidis 所说,问题出在文件权限上。
为了快速解决这个问题,我尝试了运行root用户权限的想法,我能够正常导入项目。
我以前执行的命令在这里(来自 idea root/bin 目录):
sudo ./idea.sh
我正在尝试将 sbt 项目导入 intellij 14,但是,这是我打开项目时得到的:
错误:导入 SBT 项目时出错: ...
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.io.FileNotFoundException: /home/karthik/Play2.4/Directory/target/.history
(Permission denied)
[error] Use 'last' for the full log.
查看完整的登录信息/home/karthik/.IdeaIC14/system/log/sbt.last.log
这是我的 sbt.last.log 文件
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384M; support
was removed in 8.0
[info] Loading project definition from /home/karthik/Play2.4/Rocket_Singh/project
[info] Set current project to Rocket_Singh
(in build file:/home/karthik/Play2.4/Rocket_Singh/)
[Rocket_Singh] $ java.io.FileNotFoundException:
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
at jline.console.history.FileHistory.flush(FileHistory.java:87)
at sbt.JLine.readLineWithHistory(LineReader.scala:28)
at sbt.JLine.sbt$JLine$$unsynchronizedReadLine(LineReader.scala:19)
at sbt.JLine$$anonfun$readLine.apply(LineReader.scala:16)
at sbt.JLine$$anonfun$readLine.apply(LineReader.scala:16)
at sbt.JLine$$anonfun$withJLine.apply(LineReader.scala:114)
at sbt.JLine$$anonfun$withJLine.apply(LineReader.scala:112)
at sbt.JLine$.withTerminal(LineReader.scala:86)
at sbt.JLine$.withJLine(LineReader.scala:112)
at sbt.JLine.readLine(LineReader.scala:16)
at sbt.BasicCommands$$anonfun$shell.apply(BasicCommands.scala:164)
at sbt.BasicCommands$$anonfun$shell.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$$anonfun$apply.apply(Command.scala:29)
at sbt.Command$$anonfun$command$$anonfun$apply.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$$anonfun$apply.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$$anonfun$apply.apply(MainLoop.scala:98)
at sbt.State$$anon.process(State.scala:184)
at sbt.MainLoop$$anonfun.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.io.FileNotFoundException:
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
[error] Use 'last' for the full log.
/home/karthik/Play2.4/Directory/target/.history (Permission denied)
/home/karthik/Play2.4/Rocket_Singh/target/.history (Permission denied)
这些消息表明您没有访问这些路径的权限。检查用户 运行 intellij 是否对 .history
具有写入权限。在 Linux 中,您可以通过 :
cd /home/karthik/Play2.4/Directory/target/
ls -l
如果 .history
是一个文件,响应将类似于
-rw-rw-r-- 1 karthik karthik 961 Aug 30 18:26 .history
其中rw
表示读写,2个名字分别是用户名和组名
我也遇到了同样的问题,正如 Manos Nikolaidis 所说,问题出在文件权限上。 为了快速解决这个问题,我尝试了运行root用户权限的想法,我能够正常导入项目。
我以前执行的命令在这里(来自 idea root/bin 目录):
sudo ./idea.sh