Sous Windows, existe-t-il un moyen d'exécuter un fichier JAR à l'aide d'un JRE situé dans un dossier spécifique? Semblable à la façon dont Eclipse cherche son JRE dans le chemin que vous lui donnez. Certains codes exécutables Windows (C ou C++) ou un fichier Batch feront l'affaire. Merci!
Un répertoire JRE a un bin/Java.exe.
Vous pouvez exécuter un pot de cette JRE simplement avec
<path_to_jre>/bin/Java.exe -jar Executable.jar
Si vous ne voulez pas avoir à ouvrir une console à chaque fois, insérez simplement la ligne ci-dessus dans un fichier .bat et double-cliquez dessus.
Créez ce fichier de commandes dans le même dossier que votre fichier jar:
@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
(ou utilisez javaw.exe pour revenir à l'invite de commande immédiatement après le lancement du fichier JAR)
De nombreux scripts de démarrage respectent les variables JRE_HOME
et Java_HOME
pour JRE et JDK respectivement. Certains n'aiment pas les espaces, utilisez donc la convention de chemin court (C:\Progra~1\Java\jre1.8.0_171
)
Sur les systèmes 64 bits:Progra~1
= Program Files
Progra~2
= Program Files (x86)
pour lancer les fichiers JAR en double-cliquant. Malheureusement, l'interface graphique (Panneau de configuration\Tous les éléments du Panneau de configuration\Programmes par défaut\Associations définies) est assez médiocre, vous devez donc le faire dans le Registre.
Ceci est ma méthode préférée pour choisir JRE 32/64 bits lorsque le paramètre du Panneau de configuration est ignoré.
HKEY_CLASSES_ROOT\.jar
est jarfile
HKEY_CLASSES_ROOT\jarfile\Shell\open\command
pointe vers votre JRE.Dans mon cas pour env 64bit:
"C:\Program Files\Java\jre1.8.0_171\bin\javaw.exe" -jar "%1" %*
Attention aux guillemets: javaw path contient de l’espace; le chemin JAR peut contenir des espaces; les paramètres passés sont séparés par des espaces.
La syntaxe de PowerShell est la suivante
& 'C:\Program Files\Java\jdk1.7.0_80\bin\Java.exe' -jar .\Executable.jar -Xmx256m
Utilisez un chemin d'accès à Java.exe spécifique installé sur votre système.
Vous pouvez modifier la variable d’environnement Windows pour Java_HOME (voir ici ). Pointez-le sur le JRE que vous voulez utiliser. Je suis sûr qu'il n'y a pas de moyen de le faire par programme (car le bon JRE est chargé au moment de l'exécution).