4

私は Web とこのフォーラムで、Java アプリケーションに Java ランタイム環境を組み込む正しい方法を探していました。

JRE がマシンに依存することはわかっているため、たとえば MAC や Linux にデプロイする場合、アプリケーションで提供する JRE は変更されます。

私が本当に知りたいのは(前に言ったことが正しいと仮定して)、次のとおりです。

「クライアント マシンに JRE がインストールされているかどうかを確認する方法はありますか。インストールされていない場合は、アプリケーションを実行する前にインストールしてください。」

私はそれが可能だとは思わないので:

クライアント システムに適合した JRE フォルダを使用してアプリケーションをデプロイし、JRE フォルダに含まれる java.exe を使用してスクリプトを使用してアプリケーションを起動する必要があると思いますか?

これにより、Java のインストールが回避されますが、私には良い習慣とは思えません...

4

2 に答える 2

3

アプリケーションがクライアント側の場合、JRE を使用する場合と使用しない場合の両方のオプションを提供します。多くの Java アプリケーションは、両方のインストールを提供します。たとえば、SmartGit アプリケーションでは、バンドルされた JRE または既存の JRE を使用するインストールをダウンロードできます (互換性のあるバージョンの Java を使用するのはユーザーの責任です)。多くのアプリケーション サーバーには、独自の JDK がインストールに含まれています。

したがって、顧客とのトラブルを避けたい場合は、デプロイメントを JRE にバンドルしても問題ありません。ただし、JRE以外のインストールも許可します(うるさいものを満たすために:)。

アプリケーションがサーバー側の場合、通常は JRE が付属していませんが、これは規則ではありません。

さらに、実行/インストール スクリプトは、正しい JRE または JDK がインストールされているかどうかを確認し (JAVA_HOME が設定されているかどうかなどを確認することにより)、JRE が見つからない場合は終了します。さらに、スクリプトは Java をダウンロードしてローカルにインストールすることもできます。または、JRE が検出された場合は、既存の Java またはバンドルを使用するかどうかをユーザーに尋ねることができます。

JRE のバンドルは大したことではありません。JRE がバンドルされた Java アプリケーションをインストールすることもあります。これは、アプリケーションでサポートされていない新しいバージョンまたは 64 ビット バージョンの Java などにシステムを切り替えたためです。

お役に立てれば ;)

于 2013-04-02T09:09:44.230 に答える