从tcl shell运行时未找到java

从tcl shell运行时未找到java,java,windows,tcl,Java,Windows,Tcl,我在Windows7上安装了32位Java8 当我在windows命令提示符下运行java-version时,我得到: C:\Users\Dcode>C:\Windows\System32\java.exe-版本 java版本“1.8.0_92” Java(TM)SE运行时环境(build 1.8.0_92-b14) Java热点(TM)客户端虚拟机(构建25.92-b14,混合模式,共享) 但当我从tcl 8.6 shell运行同样的东西时,我得到: 注册表项“Software\JavaSof

我在Windows7上安装了32位Java8 当我在windows命令提示符下运行
java-version
时,我得到:

C:\Users\Dcode>C:\Windows\System32\java.exe-版本

java版本“1.8.0_92” Java(TM)SE运行时环境(build 1.8.0_92-b14) Java热点(TM)客户端虚拟机(构建25.92-b14,混合模式,共享)

但当我从tcl 8.6 shell运行同样的东西时,我得到:

注册表项“Software\JavaSoft\Java运行时环境\CurrentVersion” 具有值“1.8”,但需要“1.6”。 错误:找不到java.dll 错误:找不到Java SE运行时环境


可能的原因是什么。tcl为什么需要java 1.6?请澄清我不知道,但这听起来像是32位/64位的问题。为什么从Tcl运行会触发它…一点也不知道。@DonalFellows不,它不会。你为什么这么想?Tcl只是说它需要1.6。我怀疑check的设计至少有1.6版本,但出于某种原因,它不接受1.8作为有效版本。@f1sh Tcl真的不关心Java(除了使用Tcl/Java时,这完全是另一回事)。它只是一个正在运行的程序。我猜环境或流程配置中的某些东西使Java启动器在32位模式下工作,而Java 8只是64位安装。这会很奇怪,但也有可能@Dcode:我看到您在Tcl代码中使用了
/
。请尝试使用单个
/
字符(它的反斜杠-\-需要加倍):
exec c:/Windows/System32/java.exe-version
。早些时候,我刚使用java8(32位),就出现了错误。然后我安装了java6,不知怎么的它开始工作了:)我仍然很困惑,如果我给出了完全限定的名称,那么为什么从windows cmd提示符和tcl shell启动时会出现行为上的模糊性,以及java对tcl的依赖性是什么。实际上,当我试图从tcl触发selenium jar时,问题出现了,使用命令:java-jar“C:/selenium/selenium-server-standalone-2.53.0.jar”,然后我使用java版本进行检查,发现了上述问题@Donal Fellows:
/
没有问题,我不知道,但这听起来像是32位/64位的问题。为什么从Tcl运行会触发它…一点也不知道。@DonalFellows不,它不会。你为什么这么想?Tcl只是说它需要1.6。我怀疑check的设计至少有1.6版本,但出于某种原因,它不接受1.8作为有效版本。@f1sh Tcl真的不关心Java(除了使用Tcl/Java时,这完全是另一回事)。它只是一个正在运行的程序。我猜环境或流程配置中的某些东西使Java启动器在32位模式下工作,而Java 8只是64位安装。这会很奇怪,但也有可能@Dcode:我看到您在Tcl代码中使用了
/
。请尝试使用单个
/
字符(它的反斜杠-\-需要加倍):
exec c:/Windows/System32/java.exe-version
。早些时候,我刚使用java8(32位),就出现了错误。然后我安装了java6,不知怎么的它开始工作了:)我仍然很困惑,如果我给出了完全限定的名称,那么为什么从windows cmd提示符和tcl shell启动时会出现行为上的模糊性,以及java对tcl的依赖性是什么。实际上,当我试图从tcl触发selenium jar时,问题出现了,使用命令:java-jar“C:/selenium/selenium-server-standalone-2.53.0.jar”,然后我使用java版本进行检查,发现了上述问题@Donal Fellows:与
/