我刚刚发现,如果我使用的是64位JDK,Apache Tomcat无法作为Windows服务运行。因此我在Windows上另外安装了Java 32位。在Java 32位和Java 64位之间切换
问题是,当我使用java -version检查java版本时,它仍然显示64位仍在运行。你如何从64位切换到32位?如果能够在以后切换回64位,那也不错。
我刚刚发现,如果我使用的是64位JDK,Apache Tomcat无法作为Windows服务运行。因此我在Windows上另外安装了Java 32位。在Java 32位和Java 64位之间切换
问题是,当我使用java -version检查java版本时,它仍然显示64位仍在运行。你如何从64位切换到32位?如果能够在以后切换回64位,那也不错。
问题是当我使用java -version检查java版本时,它仍然显示64位仍在运行。
这不完全正确。没有Java的副本仍在运行。 (或者,如果有,你不是说要它当您运行java -version
)
这是什么实际上所示的是命令shell运行64位Java时,你给它的命令名称java
。原因是shell的%PATH%变量告诉shell查看包含64位版本的目录,而不是32位版本;即你没有改变它!
您需要做的是将shell的%PATH%和%JAVA_HOME%环境变量更改为指向正确的位置。 %JAVA_HOME%应该指向安装目录,并且%PATH%变量应该包含%JAVA_HOME%\ bin。
您必须将JAVA_HOME
环境变量设置为您要使用的JDK版本的路径。
对于2000/XP,请参阅:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
对于Windows 7看:http://www.itechtalk.com/thread3595.html(这不是设置JAVA_HOME
变量的教程,而是一个通用的环境变量:请根据需要进行修改)
如果要更改在命令行上运行java -version
时看到的Java版本,则必须更改PATH
环境变量,以便它包含要使用的JDK的bin
目录的路径。请参阅:http://www.java.com/en/download/help/path.xml
请记住关闭命令shell并在更改PATH
变量后重新打开它。
我发现,在Windows 7上,我不得不为了编辑在多个地方的注册表项JAVA_HOME
路径完全切换到另一个Java安装不同的路径。在环境变量中更改JAVA_HOME
是不够的。您可以自己做一个快速测试:
%JAVA_HOME%
环境变量值以反映您的JAVA_HOME
的 新名称。java -version
。,你会得到一个错误消息说
Error: could not open `C:\your_java_home_path\jre7\lib\amd64\jvm.cfg'
因此,它是不一样的行为在Linux上,其中简单地改变$JAVA_HOME
足以指针更改到Java的一个新的安装目录。
看起来像Windows在其注册表中的多个位置硬编码Java主路径。
Start --> Run --> regedit
在HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/...
展开每个目录并编辑,你觉得硬编码到新JAVA_HOME
路径在每次出现注册表每一个Java主路径。
-1。这是因为您的路径包含对旧Java安装的另一个引用。如果你修好了路线,这不会是一个问题。 – iheanyi
*%PATH%变量应该包含%JAVA_HOME%\ bin。*这不会帮助Windows,但它对于Linux来说是正确的。在Windows上,java从%WINDIR%开始,所以修改PATH将没有任何效果。应该指示tomcat脚本从指定位置启动java。 – bestsss