【问题标题】:leiningen trying to access old JDK when running "lein check"leiningen 在运行“lein check”时尝试访问旧的 JDK
【发布时间】:2017-11-06 19:42:28
【问题描述】:

我刚刚更新了我的 Java,leiningen 仍在尝试访问旧的 JDK,尽管它已被删除:

C:\Users\slomi\IdeaProjects\mandelbrot>lein check
java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.8.0_77\bin\java.exe" (in directory "C:\Users\slomi\IdeaProjects\mandelbrot"): CreateProcess error=2, The system cannot find the file specified

这似乎与我的 IDE 没有任何关系,因为我没有在 IDE 中运行上述命令。

当然,这似乎是 PATH 问题,但在用户变量下,有以下条目:

LEIN_JAVA_CMD C:\Program Files\Java\jdk1.8.0_101\bin\java.exe

这似乎是我需要修复的条目。除了在系统变量中对“C:\ProgramData\Oracle\Java\javapath”的引用之外,它也是我能找到的唯一与 Java 相关的路径。

有趣的是,lein uberjar 有效。

它必须在某处或某处缓存旧路径。有谁知道如何解决这一问题? check 是一个不错的工具。

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    结果比我想象的要简单。在系统变量中,我找到了对C:\Users\MY_USER_NAME\.lein\bin 的引用,并决定四处寻找。 .lein 文件夹内有一个 profiles.clj 文件,其中包含:

    {:user
      {
      :java-cmd "C:\\Program Files\\Java\\jdk1.8.0_77\\bin\\java.exe"
      :plugins [
    
        ]
       }
     }
    

    我刚刚更新了那个路径,lein check 立即开始工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      相关资源
      最近更新 更多