Leiningen试图从错误/缺失的JDK调用java.exe

Leiningen试图从错误/缺失的JDK调用java.exe,java,clojure,leiningen,Java,Clojure,Leiningen,不久前,我的电脑上安装了两个版本的JDK(1.7.0_09和1.7.0_51)。然后我卸载了前一个。现在,当我尝试运行lein run(即使使用虚拟项目)时,我得到以下消息: java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.7.0_09\bin\java.exe" (in directory "<...>"): CreateProcess error=2, The system cannot fi

不久前,我的电脑上安装了两个版本的JDK(1.7.0_09和1.7.0_51)。然后我卸载了前一个。现在,当我尝试运行
lein run
(即使使用虚拟项目)时,我得到以下消息:

java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.7.0_09\bin\java.exe" (in directory "<...>"): CreateProcess error=2, The system cannot find the file specified
java.io.IOException:无法运行程序“C:\program Files\java\jdk1.7.0_09\bin\java.exe”(在目录“”中):CreateProcess error=2,系统找不到指定的文件

我该怎么做才能让lein使用正确的JDK?未设置
JAVA\u HOME
JDK\u HOME
变量。

检查以下设置:

  • java-version
    是否显示正确的版本
  • 系统变量
    JAVA\u HOME
    JDK\u HOME
    JAVA\u CMD
    LEIN\u JAVA\u CMD
    是否指向错误的JDK
  • 您的leiningen项目概要文件是否具有强制特定JVM的
    :java cmd
    设置
  • 您的leiningen用户配置文件
    ~/.lein/profiles.clj
    是否有
    :java cmd
    设置
  • 当使用内置leiningen的IDE时,您的IDE项目JDK是正确的吗
  • 是否对lein.sh/lein.bat进行了更改

您尝试过重新安装Leiningen吗?当您在命令行获得'path'变量时,是否找到了对Java的任何引用:c:>echo%path%@ChrisDevo none.>其中java=>C:\Windows\System32\java.exe,>java-version=>java版本“1.7.0\u 51”那么C:>javac呢-version@NielsK,即:用户配置文件中的java cmd,非常感谢!:)我刚刚遇到了这个错误,这是第4点profiles.clj的一个例子。它是“java-version”而不是“java-version”,但我不能只编辑一个字符。