Clojure:如何在Leiningen / Lighttable环境中明确选择JVM

时间:2014-10-20 14:41:16

标签: clojure jvm leiningen lighttable

在我的Windows 7(64位)环境中,我有很多可用的JVM:

C:\Program Files (x86)\Java\j2re1.4.2_12\bin\client\jvm.dll
C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
D:\programs\Java\jdk1.7.0_45\jre\bin\server\jvm.dll
D:\programs\Java\jre7\bin\server\jvm.dll

目前,使用Lighttable / Leiningen(我不知道哪个选择,以及如何选择),它使用

  

C:\ Program Files(x86)\ Java \ j2re1.4.2_12 \ bin \ client \ jvm.dll

但我真的想尝试

  

d:\程序\爪哇\ jdk1.7.0_45 \ JRE \ BIN \服务器\的jvm.dll

当我输入

时,更令人费解
  

java -version

我得到了以下内容:

D:\yushen>java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

似乎这就是我想在Lighttable / Leinengen中拥有的东西。

您能告诉我如何进行明确的选择/配置吗?

我试过谷歌,但找不到一些线索。

非常感谢!

4 个答案:

答案 0 :(得分:6)

我在

中找到了Leiningen个人资料

$HOME/.lein/profiles.clj

对于Windows,我$HOMED:\Users\carl。更一般地说,如果您使用CMD启动shell,它将是Windows(通常)将您转储的目录。 其中包含:

{:user
  {
  :java-cmd "F:\\JDK8\\bin\\java.exe"
  :plugins [

    ]
   }
}

......我能够改变到良好的效果。

答案 1 :(得分:4)

首先将JDK的bin目录放在路径中。这是最可靠的方式。

更多细节。在Windows中,您可以使用where命令查看可执行文件的版本。它是where javawhere java.exe您还可以通过键入path从命令提示符查看您的路径。如果你从命令行启动某些东西,并且它没有采取奇怪的措施来找到JVM,它应该在你的路径中找到第一个,这应该与运行的地方的结果一致命令。

如果where命令出现了您不希望发生的事情,请在输入的条目之前将正确的目录添加到您的路径中,或重新排列您的路径,以便它即将到来第一

要在leiningen进行测试,请启动一个repl,并对此进行评估。

(println (System/getProperty "java.version"))

e.g。

Yoyo-2:Desktop bill$ lein repl
(System/getPnREPL server started on port 61475 on host 127.0.0.1 - nrepl://127.0.0.1:61475
REPL-y 0.3.5, nREPL 0.2.6
Clojure 1.6.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_20-b26
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

ruser=> (System/getProperty "java.version")
"1.8.0_20"

根据我的经验,Leiningen一直使用它在路径中找到的java版本。虽然没有光桌的经验。

答案 2 :(得分:3)

对于Leiningen,您可以编辑lein.bat以准确指向所需的Java SDK版本。我不知道是否同样适用于LightTable。

或者您可以设置全局JAVA_HOME。这真的是Googleable(或DuckDuckGo-able)。

答案 3 :(得分:1)

最后,我找到了这个链接:http://leiningen-win-installer.djpowell.net/

运行安装程序后,它具有重新配置leiningen的功能,使用它,我能够配置我的旧leiningen使用我想要的JDK:D:\ programs \ Java \ jdk1.7.0_45 \ bin \ java .exe,然后leiningen / lighttable中的JVM实例现在是所需的。

故事的寓意:leiningen需要使用leiningen-win-installer的配置功能重新配置新安装的JDK。

也许可以手动配置leiningen,但我还没有找到办法。 我试图通过我的project.clj手动配置java-command选项,它没有工作。