0

重複の可能性:
起動前にJREのバージョンを確認するにはどうすればよいですか?

多くの人がプログラムにjreの最小バージョンを使用するように強制する方法を知りたいと思っていますが、Java 7(別名jre 1.6の最大値)ではなく、java6のみを使用してプログラムを実行したいと思います。その理由は、私のプログラムはFTPを使用する必要があり、Java7には恐ろしいFTPのバグがあるためです。

ユーザーが1.7をインストールしている場合、1.6を使用してアプリケーションを簡単に実行する方法はありますか?

私が見たオプションのいくつかは次のとおりです:launch4j

おそらくjre全体を私のプログラムにバンドルする以外に、それが私の問題を解決するかどうかはよくわかりません。これが最も理想的な解決策ではないと思います。

誰かが、これが一般的にどのように解決/処理されるかについて、理論的な道をたどるのを手伝ってくれるでしょうか?

4

1 に答える 1

3

このやや関連性のある質問/回答で示唆されているように、System.getProperty("java.version")を使用して、アプリケーションの実行に使用されているJavaのバージョンを確認します。これにより、アプリケーションでユーザーに古いJREを使用するように促すことができます。

パスベースのJRE検出なしでアプリケーションを実行する場合、主な問題は、ユーザーのシステムのどこに正しいJREがインストールされているかを確認できないことです。Windowsでは2つのデフォルトの可能性があり、*nixではどこにでもある可能性があります。

私があなたなら、ユーザーに過去にとどまることを強制するのではなく、新しいバージョンのJavaの最大のセキュリティと最適化の利点を得るために、あなたが言及したバグを回避するカスタムFTPライブラリを見つけようとします。

于 2012-09-29T05:53:47.263 に答える