我需要确定特定系统是否安装了32位Java。我正在执行一个远程查询,它只允许我访问文件系统和注册表,因此我不能尝试运行java.exe或任何Java代码。
我还希望确保能够检测到IBM和Sun Java以及任何其他发行版,这些发行版似乎将内容放在文件系统和注册表中的不同位置。
我想到的最好的办法就是检查一下C:\Windows\SysWOW64\java.exe。这是测试32位Java是否存在的可靠方法,或者是否有某些版本不会将java.exe放在该文件夹中?
更新:我仍然在寻找一个更强大的答案。为了清楚起见,我没有访问命令提示符的权限。此外,无论发行者是谁、安装了什么版本以及用户选择将其安装在什么路径上,我都希望检测Java。
C:\Windows\SysWOW64\java.exe似乎满足了这些要求,但我希望更有经验的人能确认一下,每个Java安装程序确实都会将可执行文件放在那里。
发布于 2012-02-23 11:50:22
我在Windows上尝试了Oracle和IBM的32位和64位安装程序,C:\Windows\SysWOW64\java.exe似乎是确定32位Java是否可用的可靠方法。我还没有测试过这些安装程序的旧版本,但对于最新版本的Java,这至少看起来应该是一种可靠的测试方法。
发布于 2016-07-02 05:26:00
这似乎提供了有关Windows的信息:
1.)打开windows命令提示符。
2.)键入:java -XshowSettings:all,然后按ENTER。
3.)许多信息将显示在命令窗口上。向上滚动,直到找到字符串:sun.arch.data.model.
4.)如果它显示sun.arch.data.model = 32,则您的VM为32位。如果它显示sun.arch.data.model = 64,则您的VM为64位。
发布于 2012-01-12 03:58:17
您是否有权访问命令提示符?
方法1:命令提示符
可以通过执行以下命令Java -version来确定安装在系统上的java的细节
方法2: Folder Structure
如果您没有访问命令提示符的权限,请确定Java所在的文件夹。
32位:C:\Program Files (x86)\Java\jdk1.6.0_30
64位:C:\Program Files\Java\jdk1.6.0_25
但是,在安装过程中,用户可能会更改安装文件夹。
方法3:注册表
您还可以在注册表编辑器中查看安装的版本。
DisplayName
& DisplayVersion
的条目中,安装的java版本将显示为https://stackoverflow.com/questions/8825244
复制相似问题