如何强制我的Java应用程序使用Java JRE 1.6而不是1.7?

时间:2012-09-29 05:47:15

标签: ftp java

  

可能重复:
  How to check JRE version prior to launch?

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

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

我看过的一些选项是:launch4j

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

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

1 个答案:

答案 0 :(得分:3)

正如本somewhat related question/answer中所述,使用System.getProperty("java.version")查看用于运行应用程序的Java版本。通过这种方式,您可以使应用程序提示用户他应该使用较旧的JRE。

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

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