如何从命令行检测64位Java?

6

有没有办法从Windows命令行获取Java内部属性,例如sun.arch.data.model?我需要一个命令来放入批处理脚本中,以检测Java的架构类型:32位或64位。


2
你能否编写一个小的Java应用程序,并从批处理脚本中调用它来完成这个任务? - Anon.
4个回答

6
如果你正在使用Sun的VM(我想其他VM在版本信息中也有类似的细节),你可以在“java -version”的输出中检查字符串“64-Bit”:
java -version 2>&1 | find "64-Bit" >nul:

if errorlevel 1 (
    echo 32-Bit 
) else (
    echo 64-Bit
)

2

jarnbjo的脚本是为Windows设计的。在Unix shell中,您可以使用以下脚本。

  #!/bin/sh
BIT=`java -version 2>&1`
case "$BIT" in *64-Bit*) echo "64位" ;; *) echo "32位" ;; esac

1

如果你安装了Groovy,你就可以使用它。

groovy -e "System.properties.each{println it}"

对于所有属性和

groovy -e "println System.properties['sun.arch.data.model']"

用于特定属性。

安装Groovy就像解压缩zip文件并添加到路径一样简单。


1

这里有一个预先编写的属性转储程序供您使用:linky


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接