首页 > 解决方案 > 尝试下载 Scala 时无法运行 java

问题描述

我正在处理一个 Scala 项目,并试图让 IntelliJ 使用它。(如果有什么不同,我之前已经让它工作了。但是我的机器死了,不得不更换,这是我在新机器上重新安装 IntelliJ 后第一次尝试使用 Scala。)机器正在运行 Linux。

我得到了“模块中没有 Scala SDK”的横幅,我选择了“设置 Scala SDK”;创造; 下载; 2.11.11 版;好的。但我得到了消息

无法运行程序“java”(在目录“/tmp/sbt-project”中):错误=2,没有这样的文件或目录

为什么它在该目录中查找(我的机器上不存在该目录)?可能有一些设置是从我以前的机器上复制过来的。如果是这样,我在哪里可以找到并修复设置?

我该如何解决这个问题?

注意:为了解决该错误,我拼命尝试创建 /tmp/sbt-project 并将 Java 二进制文件符号链接到其中。当我再次尝试时,我得到了同样的错误,除了它说in directory "/tmp/sbt-project1"。我尝试创建 /tmp/sbt-project1 作为符号链接,当我重试时,它说in directory "/tmp/sbt-project2". 这是怎么回事?

标签: scalaintellij-idea

解决方案


简而言之:我不知道为什么你和我都遇到了这个问题,但这些步骤解决了我的特殊情况的情况(不能保证,但也许它也会帮助你)

  1. 关闭 Intellij
  2. 可能在您的主目录中,备份并删除包含您的个人设置的 .Idea* 目录
  3. 打开 Intellij 并在欢迎屏幕上选择Do not import settings
  4. 使用引导式安装,确保安装了“特色”插件 Scala
  5. 重新打开您的项目,当您设置 Scala SDK 时,奇迹般地,“Ivy”存储库中应该存在预先存在的 Scala SDK 版本(我在 Lubuntu 的新 VM 上对此进行了测试)
  6. 选择(可能过时的)Scala SDK 后,再次转到项目设置并在全局库下单击+符号以添加最新的 Scala SDK。
  7. 再次奇迹般地,您现在将看到之前的 SDK 版本和最新版本的 Scala - 选择那个并完成!

笔记:

  • 在运行上述步骤之前,我尝试了您在 VM 上所做的相同操作,可能会缓存安装版本,我什至不知道在我重新启动 Intellij 后可以使用。
  • 我怀疑这行得通的原因是因为我认为我可以通过从另一台机器复制 .Idea* 目录并使用它来节省自己的时间 - 许多路径都不同!很可能我只是从我的另一台机器上禁用了路径损坏的功能
  • 即使我从来不需要按“下载”按钮,如果我这样做,我仍然会遇到同样的错误!所以我想这一切都是绕过手动下载SDK,就像你必须做的那样......
  • 我的设置:
    • 操作系统:Lubuntu-16.04.3-lts
    • Intellij 版本: IntelliJ IDEA 2018.1.4 (Community Edition) Build #IC-181.5087.20, built on May 16, 2018 JRE: 1.8.0_152-release-1136-b39 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.13.0-43-generic
    • 回声 $PATH /home/e/tools/jdk1.8.0_121/bin:/home/e/bin:/home/e/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

推荐阅读