我正在使用哪个JRE

有2个品种的JRE可用。 Java VM:IBM vs Sun

有什么办法通过java脚本或一些Java发布的命令知道我正在使用哪个JRE。

System.out.println(System.getProperty("java.vendor")); System.out.println(System.getProperty("java.vendor.url")); System.out.println(System.getProperty("java.version")); Sun Microsystems Inc. http://java.sun.com/ 1.6.0_11 

http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

以下命令会告诉你很多关于你的java版本的信息,包括供应商:

 java -XshowSettings:properties -version 

适用于Windows和Linux

  1. 打开你的:
    • 命令提示符如果您使用的是Windows
    • terminal如果您使用的是Mac或Linux
  2. input:

     java -version // this will check your jre version javac -version // this will check your java compiler version if you installed the jdk 
  3. 抓一杯咖啡,你做完了! 如果一切安装正确,则不需要将.exe添加到java -version

在linux中:

 java -version 

在Windows中:

 java.exe -version 

如果您需要更多关于jvm的信息,您可以使用参数-XshowSettings:properties调用可执行文件。 它会显示大量的系统属性 。 这些属性也可以通过Java类中的静态方法System.getProperty(String)来访问。 举个例子,这是一些可以被贬低的属性的摘录:

 $ java -XshowSettings:properties -version [...] java.specification.version = 1.7 java.vendor = Oracle Corporation java.vendor.url = http://java.oracle.com/ java.vendor.url.bug = http://bugreport.sun.com/bugreport/ java.version = 1.7.0_95 [...] 

所以如果你需要从Java代码中访问任何这些属性,你可以使用:

 System.getProperty("java.specification.version"); System.getProperty("java.vendor"); System.getProperty("java.vendor.url"); System.getProperty("java.version"); 

你可以从系统属性对象中找出当前正在运行的JVM的版本; 请参阅System.getProperties()的javadoc。 “java.vm.vendor”属性给出JVM供应商名称; 例如

  String vendor = System.getProperty("java.vm.vendor"); 

(如果你在一个沙箱中执行,安全pipe理器可能会阻止你读取系统属性,如果是这样的话,那么你几乎是不幸的)。


如果使用-version命令行参数,某些JVM会报告版本号,但是假定您可以运行命令,并且知道java命令的/path的名称或等价物。 (这意味着有鸡和鸡蛋的问题…)

正如你期望它知道使用JS,我相信你想知道你的浏览器使用JRE版本。 因此,你可以包括Java版本testing器小程序,它可以准确告诉你当前浏览器的版本。

 import java.applet.*; import java.awt.*; public class JavaVersionDisplayApplet extends Applet { private Label m_labVersionVendor; public JavaVersionDisplayApplet() //constructor { Color colFrameBackground = Color.pink; this.setBackground(colFrameBackground); m_labVersionVendor = new Label (" Java Version: " + System.getProperty("java.version")+ " from "+System.getProperty("java.vendor")); this.add(m_labVersionVendor); } } 

我有一个问题,我的Java应用程序退出工作,无法辨别我能find。 原来,我的系统开始使用64位版本,而不是32位版本(Windows Server 2012)。 在Windows中,命令:

 Javaw -version 

只是把我带回没有任何信息的命令提示符。 直到我尝试

 Javaw -Version 2>x.txt type x.txt 

它给了我正在执行的是64位版本。 它归结为我的PATH环境variables首先find64位版本。

打开命令提示符

  Version: java -version Location: where java ( in Windows) which java ( in Unix/Linux/Mac) 

在Windows中设置Java主页:右键单击我的电脑 – >属性 – >高级系统设置 – >环境variables – >系统variables – >新名称为JAVA_HOME值为(例如)c:\ programfiles \ jdk

selectpath,然后点击编辑,保存在:%JAVA_HOME%\ bin; …剩余的设置在这里

JAVA_HOME