我使用插件La Clojure和Leiningen安装了IntelliJ Idea 10.5.2。之后安装了Leiningen,正如GitHub页面中提到的那样(接下来,因为我在Windows 7上运行,并自行安装;我还在PATH变量中放置了bat的路径)
现在,在Leiningen运行任何东西都会出现这个错误:
E:\ leiningen \ lein.bat deps打开注册表项时出错 'Software \ JavaSoft \ Java Runtime Environment'错误:找不到 java.dll错误:找不到Java SE Runtime Environment。
所以,问题是“这里有什么问题?”我尝试按照正确的方式安装Leiningen的所有步骤。仍然没有完全发挥作用。
如果我在Windows命令提示符下转到我的项目所在的位置,那么我可以运行 lein 命令。它的工作方式。但是我想从IntelliJ中的插件中运行。
另外,我注意到的另一个奇怪的事情是,如果我启动Total Commander,请转到我的项目并从那里启动命令提示符,然后尝试运行任何 lein 命令,我得到同样的错误。
我的猜测是类路径可能有问题,但是什么?以及如何解决它?
答案 0 :(得分:2)
这不是类路径的问题,但是通过IntelliJ Leiningen插件启动Leiningen无法找到正确的Java版本存在问题。
因为它依赖于启动Lein的主机进程,如果它可以启动JDK,它可能是Win 7 x64下“bitness”的差异。如果你只安装了一个32位或64位JDK,一些程序只会尝试启动一个,因为另一个程序被“屏蔽”了。
这是由Win 7通过注册表的x86或x64部分或默认程序文件dirs在内部完成的。如果主机进程是32位或64位,它只能从相同的“位数”中找到程序或dll。对于程序文件,这是\ Program Files \ for x64和\ Program Files(x86)\ for x86,注册表\ HKEY_LOCAL_MACHINE \ SOFTWARE \ for x64和\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ for x86。
最容易找到的是安装JDK和JRE的其他(x86或x64)版本。这将在注册表的另一部分和程序文件目录中注册该版本。