2

私は既存の Java プログラムを持っており、それを一部の人に提供しています。技術的にあまり得意ではない私のクライアントです。彼らは Linux と Windows を組み合わせて使用​​しており、Apple マシンを持っている人はほとんどいません。そのため、プログラムの開発に Java を選択しました。 JREがインストールされています。次の方法はありますか?

  1. ある種のコマンドを確認するための lib をインポートします。
  2. JRE をチェックする何かをプログラムに追加します。または(そもそもJavaを選択した理由から、これについては本当にやりたくありません)
  3. JRE をチェックするものを C++ で記述します。

私の目的:

  1. マシンに JRE がインストールされているかどうかを確認する
  2. はいの場合: プログラムを起動します
  3. いいえの場合: 「Java 環境が見つかりません。Java Web サイトからダウンロードしています」というメッセージが表示されます。次に、「実行」をクリックしてインストールするリンクに直接移動します。

//私は次のようなことをします

if (JRE.exists()) // maybe use a pathname that would only show up if a JRE is installed
{
    // launch program
}
else
{
    // launch Java installer
}
system.exit(0);

Java ではこれが非常に難しいことは理解していますが (JRE なしでは Java プログラムを実行できないため)、可能であれば、これを普遍的に維持することを好みます。

簡単な修正がない場合は、システム上の JRE をチェックする Java Web サイトへのリンクを含む read-me ファイルを作成しますが、ユーザーが行う必要のある作業は最小限に抑えた方がよいでしょう。

4

5 に答える 5

1

システム上の JRE を確認する

Java Web Start 情報deployJava.jsに記載されているように使用します。ページ。

..JWS アプリへのリンクを提供する前に、Java の適切な最小バージョンがインストールされていることを確認するように設計されています。またはアプレットを起動します。

リッチ クライアント デスクトップ アプリの場合。(アプレットやフレームなど)、Java Web Start を使用してデプロイします。

于 2012-08-24T13:46:41.243 に答える
1

Java Web Start を使用できない場合は、Java Web Start を使用することをお勧めしますが、Java を検出するための簡単なスクリプトを作成できます。

Windows (.bat) の場合:

if not "%JAVA_HOME%" == "" (
    "%JAVA_HOME%\bin\javaw.exe" -jar YourApp.jar
) else (
    start http://java.com/download/
)

JAVA_HOME環境変数が定義されている場合はjavaw.exe、アプリケーションの jar ファイルで開始されます。javaw.exe実行可能ファイルはウィンドウ サブシステムを使用するため、コンソール ウィンドウなしで実行されます。

が設定されていない場合JAVA_HOMEは、デフォルトのブラウザで Java ダウンロード ページが開きます。

その他のオプションについては、JScriptを使用できます。これにより、Java がインストールされていないという警告をユーザーに表示し、ブラウザを開いてダウンロードすることができます。

Linux (.sh) の場合:

if [ "$JAVA_HOME" != "" ]; then
    $JAVA_HOME/bin/java -jar YourApp.jar &
else
    echo JAVA_HOME is not set: Java Runtime Environment (JRE)
    echo is not installed your system.
    echo Either install it from http://java.com/download/
    echo or set JAVA_HOME environment variable.
fi
于 2012-08-25T18:19:35.020 に答える
1

IzPack などの Java インストーラーやその他の無料ツールを使用することをお勧めします。これらのいずれかを使用して、インストーラーを作成し、ネイティブ ランチャーを生成することもできます。これは、Java を検索するように構成でき、見つからない場合はユーザーがインストールするのに役立ちます。

ネイティブ ランチャーに JSmooth または Launch4J を使用する開発者もいます。

于 2012-08-24T13:29:20.220 に答える
0

それを行うバッチファイルとbashファイルを作成し、OSに応じてどちらかを実行するように顧客に依頼してみませんか

于 2012-08-24T13:28:33.950 に答える
0

JRE がシステムにインストールされている場合、Windows と Linux の両方で JAVA_HOME 環境変数が設定され、JRE のパスが含まれます。この変数が設定されているかどうかを確認して、それに応じて続行できます。

于 2012-08-24T13:33:04.307 に答える