当前位置: 首页 > 知识库问答 >
问题:

Clojure:如何在Leiningen/Lighttable环境中显式选择JVM

金昌胤
2023-03-14

在我的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:\ProgramFiles(x86)\Java\j2re1。4.2\u 12\bin\client\jvm。动态链接库

但我真的很想试试

D:\programs\Java\jdk1。7.0_45\jre\bin\server\jvm。动态链接库

更令人费解的是,当我打字的时候

java版本

我得到以下信息:

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内部拥有的。

你能告诉我如何做出明确的选择/配置吗?

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

谢谢!

共有3个答案

壤驷麒
2023-03-14

对于Leiningen,您可以编辑lein.bat以精确指向所需JavaSDK版本。我不知道这是否也适用于LightTable。

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

孙胜泫
2023-03-14

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

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

如果where命令出现了您不期望的内容,请在出现的条目之前将正确的目录添加到您的路径中,或者重新排列您的路径,使其首先出现。

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

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

例如

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版本。不过,没有使用轻型桌子的经验。

范鸿畅
2023-03-14

我在网上找到了莱宁根的个人资料

$HOME/。莱恩/简档。clj

对我来说,在Windows上,$HOMED:\用户\carl。更一般地说,如果您使用CMD启动shell,Windows将(通常)将您转储到该目录中。其中包括:

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

    ]
   }
}

...我把它改得很好。

 类似资料:
  • 当我在LightTable中的repl中键入(clojure版本)时,我会得到作为输出。有没有办法升级到1.6。0? 我假设它正在从Leiningen(我的机器上有2.3.4)绘制Clojure版本,该版本开箱即用1.5.1储存。如何确保Leiningen和LightTable都使用Clojure的最新版本?我谷歌了一下,找不到任何明确的答案。 我确实找到了这个SO问题,但它没有具体解决我的问题。

  • 目前,我正在使用LightTable来运行Clojure项目,使用Leiningen,我可以为项目指定一个版本。然而,对于不是项目一部分的. clj文件,LightTable REPL似乎说Clojure版本是1.5.1。 我想把它设为1.7。全部为0。clj文件,有办法做到这一点吗?

  • 我正在测试Clojure/Java互操作。我创建了一个新的Leiningen项目并创建了这个项目。clj文件以及我将使用的几个依赖项: 我还包含了“java-Source-路径”列表,并将一个hello.java文件放入src/java目录,如下所示: 然后我创造了这个核心。模板中的clj文件: 如您所见,我甚至没有在应用程序函数中使用hello java类,我只是需要它,但当我在终端中运行“le

  • Clojure/Leiningen/Eclipse(和Java)newby。我试图让Eclipse加载Clojure/Leiningen项目,但在搜索Lein插件解决方案时,我看到了令人困惑/矛盾的结果。 Eclipse IDE for Java开发者版本:Juno Service Release 2构建id:20130225-0426(Windows 8) 我在中有以下用户配置文件。lein\p

  • 问题内容: 是否可以使用leiningen在项目中与Clojure一起轻松管理和编译本机Java类? 我的工作水平很低(使用netty nio),并且认为某些管道类实际上在构造代码和性能方面都更容易作为原始Java处理。 问题答案: 在Leiningen教程中有以下声明 对于包含某些Java代码的项目,可以将project.clj中的:java-source- path键设置为包含Java文件的目

  • 我对Clojure开发非常陌生,我正在尝试在emacs中处理一些现有的项目。问题是,他们都没有project.clj文件,我也找不到合适的repl。当我,我得到一个工作的repl,但当我试图运行任何命令我得到一个错误说。有关于如何使一个Clojure maven项目与lein repl一起工作的资源吗? 谢谢 编辑:另外,我正在处理的项目是一个嵌套的项目,其中包含多个子项目和它们自己的pom。xm