我们的软件有一个swing面板,用于列出jdk安装路径。例如,如果用户的PC中安装了4个jdk,并且面板中列出了jdk路径:
用户需要选择一个jdk安装路径来安装我们的软件。我们想知道用户选择的jdk的位版本(32位或64位),我们如何做到这一点?
发布于 2012-06-28 02:58:47
好吧,如果您知道位置,您可能会使用Runtime.exec("pathToJavaInstallPath/bin/java.exe -version")并以这种方式捕获版本。这至少是一种蛮力的方式。
样本输出:
java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)发布于 2012-06-29 17:09:11
您还可以使用GetBinaryType Win32 API函数来确定给定的.exe是32位还是64位。
有关更多细节,请参见问题How to detect that a given PE file (exe or dll) is 64 bit or 32 bit。
发布于 2012-06-28 02:10:29
您可以使用"java.version“属性读取正在执行的Java版本:
您还可以阅读体系结构(例如,x86与amd64)、OS和JRE主页。
https://stackoverflow.com/questions/11237161
复制相似问题