Java check latest version programmatically

前端 未结 9 1628
不思量自难忘°
不思量自难忘° 2020-12-14 02:36

Goal: check java\'s version on a machine (I can get this from java -version). Compare it with latest available from java website

I woul

9条回答
  •  有刺的猬
    2020-12-14 03:00

    To get all system variables

    Properties properties = System.getProperties();
    System.out.println(properties);
    

    Sample output, this might be different in your system depending on your OS and Java JDK/JRE version.

    {
        java.runtime.name = Java(TM) SE Runtime Environment,
        sun.boot.library.path = C:\Program Files\Java\jdk1.8.0_31\jre\bin,
        java.vm.version = 25.31-b07,
        java.vm.vendor = Oracle Corporation,
        java.vendor.url = http://java.oracle.com/,
        path.separator = ;,
        idea.launcher.port = 7534,
        java.vm.name = Java HotSpot(TM) 64-Bit Server VM,
        file.encoding.pkg = sun.io,
        user.country = NP,
        user.script = ,
        sun.java.launcher = SUN_STANDARD,
        sun.os.patch.level = ,
        java.vm.specification.name = Java Virtual Machine Specification,
        user.dir = C:\Users\...\roid,
        java.runtime.version = 1.8.0_31-b13,
        java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment,
        java.endorsed.dirs = C:\Program Files\Java\jdk1.8.0_31\jre\lib\endorsed,
        os.arch = amd64,
        java.io.tmpdir = C:\Windows\TEMP\,
        line.separator = ,
        java.vm.specification.vendor = Oracle Corporation,
        user.variant = ,
        os.name = Windows 8.1,
        sun.jnu.encoding = Cp1252,
        java.library.path = C:\Program...roid,
        java.specification.name = Java Platform API Specification,
        java.class.version = 52.0,
        sun.management.compiler = HotSpot 64-Bit Tiered Compilers,
        os.version = 6.3,
        user.home = C:\Users\Xxx,
        user.timezone = Asia/Kathmandu,
        java.awt.printerjob = sun.awt.windows.WPrinterJob,
        file.encoding = UTF-8,
        idea.launcher.bin.path = C:\Program Files (x86)\xxx\bin,
        java.specification.version = 1.8,
        java.class.path = C:\Program Files\Java\jdk1.8.0_31\jre\lib\charsets.jar;...,
        user.name = Xxx,
        java.vm.specification.version = 1.8,
        sun.java.command = com.xxxx.ameras,
        java.home = C:\Program Files\Java\jdk1.8.0_31\jre,
        sun.arch.data.model = 64,
        user.language = en,
        java.specification.vendor = Oracle Corporation,
        awt.toolkit = sun.awt.windows.WToolkit,
        java.vm.info = mixed mode,
        java.version = 1.8.0_31,
        java.ext.dirs = C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext;...,
        java.vendor = Oracle Corporation,
        file.separator = \,
        java.vendor.url.bug = http://bugreport.sun.com/bugreport/,
        sun.io.unicode.encoding = UnicodeLittle,
        sun.cpu.endian = little,
        sun.desktop = windows,
        sun.cpu.isalist = amd64
    }
    

    Retrive only specific variable

    String javaVersion = System.getProperty("java.version");
    System.out.println(javaVersion);
    

    Output

    1.8.0_31
    

提交回复
热议问题