java - 检查哪个Java版本

标签 java cmd

对于一家公司(超过 1000 名员工),我们想要检查是否每个人都安装了最新的 Java(内部版本 1.7.0_51-b13)。如果用户没有最新版本的 Java,则会通知用户更新他的 Java 版本。

在脚本中可以运行“java -version”,但 Java 并不总是在系统变量中。要找出 Java 的安装位置,脚本必须检查用户正在运行哪个 Windows。这可以是 XP、Windows 7 或 8。但我有点卡住了,因为我认为应该有更好、更简单的解决方案。

最佳答案

我可能会做的是创建一个 java 程序 来进行检查,这样路径变量就无关紧要了。尝试类似的东西

public class Checker {
    public static void main(String[] args){
        String[] version = System.getProperty("java.version").split("\\."); // it's regex so we have to escape it
        int first=Integer.parseInt(version[0]);
        int second=Integer.parseInt(version[1]); // the property is in the form x.x.x
        if(first==1 && second < 7){ // check for less than 1.7.x, modify this to suit your needs, I would change it to 1.8.x as soon as official java 8 is released
            // prompt to update
        }
    }
}

然后只需将其编译为 jar 并分发即可。这当然是假设人们首先拥有 某个版本 的 java,但我假设他们从你的问题开始。

关于java - 检查哪个Java版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22714186/

相关文章:

java - 使用 IntelliJ 运行 tomcat 的解决方法,也许是推送到 tomcat 的脚本?

batch-file - 批处理文件和 DEL 错误级别 0 问题

windows - 发生错误时跳过

windows - 当程序被命令行中的 Edit>Mark 暂停时,究竟发生了什么?

java - 将 ListView 日期与当前日期进行比较

java - 保护 cookie 的最佳和最简单的方法是什么

redirect - 如何在 cmd.exe 中将 stderr 重定向到 null

c++ - 从 cmd 和 Codeblocks 执行时输出不同

java - 需要推荐一本关于使用 jee6 进行测试驱动编程的书吗?

java - Sbt 找不到 Java