【发布时间】:2018-02-18 09:23:47
【问题描述】:
在我们的组织中,我们提供了一个安装程序 (Install4j) 来构建和运行我们的产品。
在其中一个阶段,我们使用System.getProperty("java.version") 对 java 版本进行验证。在极少数情况下,在命令提示符下键入 java -version 时,可能会出现各种错误,例如:
我面临的问题是此类错误仅从命令提示符中显示,而System.getProperty("java.version") 不会发出任何警报,只需返回版本号。
我正在寻找一种方法来监控此类错误并相应地停止安装程序,但我所有的尝试都是徒劳的。
编辑:
我想过使用Runtime.getRuntime().exec(),但是'java -version'响应不会回来。
【问题讨论】:
-
您的屏幕截图显示 Java 安装损坏,在这种情况下您必须重新安装 Java。
-
是的,我知道。但我的目的是在这种情况下向客户显示适当的信息。我需要知道安装程序中何时发生此类错误。
-
安装程序中不会以同样的方式发生该错误。你捆绑了一个 JRE 吗?那么这个错误不会发生。如果不是,则 install4j 生成的本机可执行文件中的搜索序列将负责查找工作的 JRE。
-
@ingoKegel - 有没有办法使用“运行可执行文件或批处理文件”操作来运行命令 java -version?
-
是的,您可以这样做并解析输出。不确定这对安装程序有什么帮助,因为如果它已经在运行,那么 JRE 安装损坏不会有任何问题。