Windowsで特定のフォルダーにあるJREを使用してJARファイルを実行する方法はありますか? Eclipseは、ユーザーが指定したパスでJREを探す方法に似ています。一部のWindows実行可能コード(CまたはC++)またはバッチファイルのいずれかがジョブを実行します。ありがとう!
JREディレクトリにはbin/Java.exeがあります。
あなたは単にそのJREからjarを実行することができます
<path_to_jre>/bin/Java.exe -jar Executable.jar
毎回コンソールを開く必要がない場合は、上記の行を.batファイルに入れてダブルクリックします。
Jarfileと同じフォルダーにこのバッチファイルを作成します。
@echo off
set path=C:\Program Files (x86)\Java\bin\;%path%
Java -version
javaw -jar jaryouwanttorun.jar
pause
exit
_<path_to_jre>/bin/Java.exe -jar Executable.jar
_
(または、javaw.exeを使用して、JARの起動直後にコマンドプロンプトに戻ります)
多くの起動スクリプトは、JREおよびJDKの変数_JRE_HOME
_および_Java_HOME
_をそれぞれ尊重します。いくつかはスペースが好きではないので、短いパスの規則を使用してください(_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ビット環境の場合:
_"C:\Program Files\Java\jre1.8.0_171\bin\javaw.exe" -jar "%1" %*
_
引用符に注意してください:javawパスにはスペースが含まれています。 JARパスにはスペースを含めることができます。渡されたパラメーターはスペースで区切られます。
PowerShell構文は次のとおりです
& 'C:\Program Files\Java\jdk1.7.0_80\bin\Java.exe' -jar .\Executable.jar -Xmx256m
システムにインストールされている特定のJava.exeへのパスを使用します。
Java_HOMEのWindows環境変数を変更できます( here を参照)。実行するJREを指定します。正しいJREが実行時にロードされるため、それを行うプログラム的な方法はないと確信しています。