特定のフォルダにある JRE を使用して Windows で JAR ファイルを実行する方法はありますか? Eclipse が指定したパスで JRE を検索する方法と同様です。一部の Windows 実行可能コード (C または C++) またはバッチ ファイルのいずれかがその仕事をします。ありがとう!
5 に答える
JRE ディレクトリには bin/java.exe があります。
そのJREから単純にjarを実行できます
<path_to_jre>/bin/java.exe -jar Executable.jar
毎回コンソールを開く必要がない場合は、上記の行を .bat ファイルに入れてダブルクリックします。
コマンドから実行
<path_to_jre>/bin/java.exe -jar Executable.jar
(または、JAR の起動直後に javaw.exe を使用してコマンド プロンプトに戻ります)
または環境変数を設定する
多くの開始スクリプトは変数JRE_HOME
を尊重しJAVA_HOME
、それぞれ JRE と JDK を対象としています。スペースが嫌いな人もいるので、短いパス規則を使用してください ( C:\Progra~1\Java\jre1.8.0_171
)
64 ビット システムの場合:
Progra~1
= Program Files
Progra~2
=Program Files (x86)
またはファイルの関連付けを設定する
ダブルクリックで JAR を起動します。残念ながら、GUI (コントロール パネル\すべてのコントロール パネル項目\既定のプログラム\関連付けの設定) はかなりお粗末なので、レジストリで行う必要があります。
これは、コントロール パネルの設定が無視されたときに 32/64 ビット JRE を選択する私のお気に入りの方法です。
- のデフォルト値
HKEY_CLASSES_ROOT\.jar
がjarfile
- のデフォルト値が
HKEY_CLASSES_ROOT\jarfile\shell\open\command
JRE を指していることを確認します。
私の場合、64ビットenvの場合:
"C:\Program Files\Java\jre1.8.0_171\bin\javaw.exe" -jar "%1" %*
引用符に注意してください。 javaw パスにはスペースが含まれています。JAR パスにはスペースを含めることができます。渡されたパラメータはスペースで区切られています。
jarfile と同じフォルダーにこのバッチ ファイルを作成します。
@echo off
set path=C:\Program Files (x86)\java\bin\;%path%
java -version
javaw -jar jaryouwanttorun.jar
pause
exit
JAVA_HOME の Windows 環境変数を変更できます (こちらを参照)。実行したい JRE を指定します。プログラムでそれを行う方法はないと確信しています (実行時に適切な JRE がロードされるため)。