Windows マシンで開く必要がある Java 6 ベースの Java Web Start アプリケーションがあります。マシンには JRE 7 がインストールされており、JRE 6 は手動でProgram Files
フォルダーにコピーされています。問題は、JWS アプリケーションを開きたいときはいつでも、Java 7 を使用して開くことですjavaws
。JRE 6 の実行可能ファイルを使用しても、一部のプロパティはまだ JRE 7 ファイルを参照しています (これは を使用して確認しましたjavaws -verbose app.jnlp
。JRE 6 を強制するにはどうすればよいですか?このアプリケーションだけですか?
10 に答える
Java 6 ベースの Java Web Start アプリケーションを使用しています。このアプリケーションだけに JRE 6 を適用するにはどうすればよいですか?
要素で適切なversion
属性を使用しj2se
ます。
<resources>
<!-- Any 1.6 JRE -->
<j2se version='1.6*'>
...
</resources>
警告
このソリューションは、以前のバージョンの JVM のインストールには機能しないようです!
それが機能しない理由として私が考えることができる最も良い理由は、Oracle が以前の Java バージョンのセキュリティ更新のリリースにうんざりしているためです。つまり、すべてのユーザーに最新の JVM を使用するように強制しています。
これはこれまでで最も古い投稿だと思いますが、同様の問題を検索したときに出てきました。これに対処する最も簡単な方法 (システム全体に影響を与えない 1 回限りの解決策として) は、並行して古いバージョンの Java をインストールし、jnlp を javaws.exe にドラッグすることです。(Java 5 を使用する Web アプリがあり、それ以外の場合は開きません)
Windows 7 と 2 つの Java バージョン (1.8 および 1.7) がインストールされた UAC 制御のラップトップを使用しています。sesWebstart.jnlp は、古い Java バージョン (私の場合は 1.7) で開始する必要があります。これはうまくいきました。Java コントロール パネルで、アプリケーション sesWebstart.jnlp のすべてのエントリを削除します (存在する場合)。コマンド ラインで Java Cache Viewer を起動できます。
C:\Program Files (x86)\Java\jre1.7.0_55\bin> javaws -viewer
このコマンドは、Java コントロール パネルと Java キャッシュ ビューアを起動します。Java Cache Viewer に移動し、アプリケーション リストを選択して、sesWebstart.jnlp のエントリを削除します (存在する場合)。
Java キャッシュ ビューアを閉じて、Java コントロール パネルに移動します。インターネット一時ファイルの設定に移動し、キャッシュ ファイルとアプリケーション自体を削除します。その後、Java コントロール パネルを閉じます。
正しい Java (古い方) で sesWebstart.jnlp を開始する新しいバッチ ファイルを作成します。
"C:\Program Files (x86)\Java\jre1.7.0_55\bin\javaws.exe" "D:\Users\christian\Desktop\sesWebstart.jnlp"
これで、sesWebstart アプレットは、このバッチ ファイルを実行することで開始できます。
JVM はインストールされている最新バージョンを常に検索するため、最新の JRE/JDK の javaws.exe(javaws2) プログラム ファイルの名前を変更することが、私にとって有効なもう 1 つのもっともらしい解決策でした。変更をロールバックする必要がある場合は、名前を元の値に戻してください
-verbose フラグも追加することをお勧めします。例 javaws.exe -verbose http....
私の場合、まだいくつかの java1.8 引数を呼び出していたので (スクリーンショットを参照)、Java コントロール パネルで Java 8 も無効にする必要がありました。
javaws.exe
次のように、必要な JRE から明示的に使用するだけです。
C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe file.jnlp
ただし、j2se バージョン設定や jnlp 仕様など、他の回答を念頭に置いてください。
私はまったく同じ問題を抱えていました。JAVA_HOME変数を変更するbatファイルを作成し、javawsを使用してjnlpファイルを実行すると、うまくいきました。
バットファイルの内容:
SET "JAVA_HOME=[path to your jre folder]"
javaws [path to your jnlp]
それが役に立てば幸い :)
次の簡単なプロセスを実行して手動で行う必要があります。
- jnlp ファイルを右クリック --> プロパティ。属性に移動して開きます --> 変更ボタンをクリックします。
- ブラウズを選択します。
- 必要な JRE バージョンの javaws.exe のパスを 6 または 7 から選択します。C:\Program Files (x86)\Java\jre7\bin\javaws.exe (私の場合)