0

可能重复:
如何在启动前检查 JRE 版本?

许多人想知道如何强制他们的程序使用最低版本的 jre,但我希望我的程序只使用 java 6 而不是 java 7(也就是 jre 1.6 的最大值)运行。原因是我的程序需要使用 FTP,而 java 7 有可怕的 FTP 错误。

如果用户安装了 1.7,有没有办法让我的应用程序使用 1.6 轻松运行?

我看过的一些选项是:launch4j

我不太确定它会解决我的问题,除了可能将整个 jre 与我的程序捆绑在一起。我认为这不是最理想的解决方案。

有人可以帮助我指导我在理论上如何解决/处理这个问题吗?

4

1 回答 1

3

正如这个有点相关的问题/答案中所建议的,使用System.getProperty("java.version")来查看正在使用哪个版本的 Java 来运行应用程序。这样,您可以让应用程序提示用户他应该使用较旧的 JRE。

至于在没有基于路径的 JRE 检测的情况下运行应用程序,主要问题是您无法确定在用户系统的哪个位置安装了正确的 JRE。在 Windows 上有两种默认的可能性,在 *nix 上它可能在任何地方。

如果我是你,我会尝试找到一个自定义 FTP 库来解决你提到的错误,以获得新版本 Java 的最大安全性和优化优势,而不是强迫用户停留在过去。

于 2012-09-29T05:53:47.263 回答