【问题标题】:Leiningen tries to call java.exe from a wrong/missing JDKLeiningen 尝试从错误/丢失的 JDK 调用 java.exe
【发布时间】:2014-03-05 08:08:36
【问题描述】:

前段时间,我的 PC 上安装了两个版本的 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

如何让lein 使用正确的JDK?未设置 JAVA_HOMEJDK_HOME 变量。

【问题讨论】:

  • 您是否尝试过重新安装 Leiningen?
  • 当你在命令行获取'path'变量时,你是否发现任何对Java的引用:c:> echo %path%
  • @ChrisDevo 无。 >其中 java => C:\Windows\System32\java.exe, >java -version => java 版本“1.7.0_51”
  • c:> javac -version 怎么样
  • @NielsK,那是用户配置文件中的 :java-cmd,非常感谢! :)

标签: java clojure leiningen


【解决方案1】:

检查以下设置:

  • java -version 显示正确的版本吗?
  • 系统变量JAVA_HOME,JDK_HOME,JAVA_CMDLEIN_JAVA_CMD 是否指向错误的JDK?
  • 您的 leiningen 项目配置文件是否具有强制使用特定 JVM 的 :java-cmd 设置?
  • 您的 leiningen 用户个人资料 ~/.lein/profiles.clj 是否有 :java-cmd 设置?
  • 在使用带有内置 leiningen 的 IDE 时,您的 IDE 项目 JDK 是正确的吗?
  • 是否对 lein.sh / lein.bat 进行了更改?

【讨论】:

  • 我刚刚遇到这个错误,这是第 4 点的情况,profiles.clj。
  • 它是 'java -version' 而不是 '--version',但我不能只编辑一个字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 2013-10-03
  • 2017-02-28
  • 1970-01-01
相关资源
最近更新 更多