尝试在 Intellij 中打开 sbt 项目时出现“sbt 启动器不存在”

Posted

技术标签:

【中文标题】尝试在 Intellij 中打开 sbt 项目时出现“sbt 启动器不存在”【英文标题】:"sbt launcher does not exist" when attempting to open sbt project in Intellij 【发布时间】:2017-05-12 02:25:46 【问题描述】:

这是在 Intellij 2016.3 Ultimate 中打开 sbt 项目的尝试:

我们收到以下友好通知:

Afa sbt 详细信息:我已经通过 homebrew 安装了 sbt

那条路径确实不存在。于是我去Preferences | Build Execution Deployment | SBT修了路径:

$ll /usr/local/Cellar/sbt/0.13.13/libexec/sbt-launch.jar
-rwxr-xr-x  1 boescst  USWIN\Domain Users  1210231 Oct 28 10:46 /usr/local/Cellar/sbt/0.13.13/libexec/sbt-launch.jar

让我们更新路径:

但是仍然会出现相同的错误消息。 Intellij 中是否还有其他地方需要更新?

尝试导入 sbt 项目时发生以下情况:

下面的对话框有一个Show Logs 链接,但点击它没有任何反应..

另一个更新我手动打开了idea.log。它显示的信息基本相同:

2017-01-04 18:07:21,280 [34384] 警告 - nal.AbstractExternalSystemTask - SBT 启动器不存在: /usr/local/Cellar/sbt/0.13.9/libexec/sbt-launch.jar com.intellij.openapi.externalSystem.model.ExternalSystemException:SBT 启动器不存在: /usr/local/Cellar/sbt/0.13.9/libexec/sbt-launch.jar 在 org.jetbrains.sbt.project.SbtProjectResolver.resolveProjectInfo(SbtProjectResolver.scala:61) 在 org.jetbrains.sbt.project.SbtProjectResolver.resolveProjectInfo(SbtProjectResolver.scala:28) 在 com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.a(RemoteExternalSystemProjectResolverImpl.java:37) 在 com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59) 在 com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37) 在 com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49) 在 com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:51) 在 com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:139) 在 com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:125) 在 com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:414) 在 com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4.run(ExternalSystemUtil.java:486) 在 com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:710) 在 com.intellij.openapi.progress.impl.CoreProgressManager$11.run(CoreProgressManager.java:423) 在 com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:179) 在 com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:568) 在 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519) 在 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) 在 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:164) 在 com.intellij.openapi.application.impl.ApplicationImpl.a(ApplicationImpl.java:569) 在 com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:309) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) java.io.FileNotFoundException:SBT 启动器不存在: /usr/local/Cellar/sbt/0.13.9/libexec/sbt-launch.ja

反复尝试更改 sbt 启动设置。错误仍然发生。 Intellij 在某处缓存该信息。我什至删除了 .idea 和 .iml 文件。结果相同。现在我 重新安装了 Intellij 。还是同样的问题!有没有搞错 !!!???

【问题讨论】:

这是正确的设置,我无法用相同的设置重现您的问题。但是,使用捆绑的 sbt 启动器也应该可以正常工作。它对你不起作用是有原因的吗? 感谢提问:使用“捆绑的”sbt 是我开始的地方 - 即生成显示的错误消息。我更改为自定义以尝试解决问题 - 但在两种情况下都出现相同的错误。 能否请您链接错误发生时的 IDE 日志粘贴? @JustinKaeser 提供给Show logs 的链接不起作用(请参阅添加到 OP 的对话框截图)。 感谢您的更新。不知道这里发生了什么,但您可以尝试的一件事是 File / Invalidate chaches 并重新启动。虽然如果重新安装也不起作用,这可能不会有太大作用。 【参考方案1】:

对于启动器,在首选项窗口中,选择“捆绑”选项而不是自定义选项。

【讨论】:

它在首选项 > 构建执行部署 > 构建工具 > sbt 使用“捆绑的”sbt 是我开始的地方 - 即生成显示的错误消息。我更改为自定义以尝试解决问题 - 但在这两种情况下都出现相同的错误

以上是关于尝试在 Intellij 中打开 sbt 项目时出现“sbt 启动器不存在”的主要内容,如果未能解决你的问题,请参考以下文章

Intellij 无法导入 SBT 项目

SBT 项目刷新失败 [IntelliJ、Scala、SBT]

如何在 Intellij Idea 中使用自定义 sbt 版本?

IntelliJ:命令行太长。在 SBT 项目中缩短...的命令行

IntelliJ:命令行太长。在SBT项目中缩短...的命令行

我在intellij中没有sbt控制台