2010-12-02 7 views
7

Je fais la plupart de mon travail contre JDK 1.5 - mais parfois je dois passer à 1.6. c'est un peu pénible d'avoir à changer manuellement ma variable système 'JAVA_HOME' chaque fois que je dois travailler sur un projet spécifique à l'un ou à l'autre (et non, Eclipse ne joue pas bien dans ces scénarios - croyez-moi .. J'ai essayé.Script pour modifier la variable système JAVA_HOME dans Windows

Je suis à la recherche d'un script de registre ou d'un script shell Windows ou d'ailleurs tout moyen par lequel je peux "bascule" cette variable système avec quelque chose qui est facile à exécuter.

Je me suis trompé avec la commande 'set', mais cela ne fait que définir la variable pour cette instance de commande particulière - pas globalement.

Merci d'avance.

EDIT # 1: Points de conseil:

  • Utilisez la cette façon, vous avez seulement JAVA_HOME Variable dans votre variable de chemin et, pour changer le JAVA_HOME (qui est utilisé dans de nombreux projets de toute façon [maven, ant, etc])
  • Ecrivez la commande dans un couple de scripts batch pour une utilisation facile
  • Lorsque vous effectuez la modification, la session de commande Windows ne le reflète pas tout de suite. Vous devez le fermer et le rouvrir.
+0

3-d: Vous pouvez utiliser les deux "set" et "setx" dans votre script, créant ainsi même variable d'environnement pour la session utilisateur active et globalement en même temps. –

+0

@barti - merci pour votre aide, car mon scénario setx fonctionne parfaitement. Merci! – javamonkey79

Répondre

16

Vous pouvez utiliser setx à cette fin

comme ceci:

setx /M JAVA_HOME "C:\Program Files (x86)\Java\jdk1.6.0_17" 
+0

Ouais, je viens de remarquer cette commande - avez-vous une solution semi-complète? (+1) – javamonkey79

+0

'setx JAVA_HOME" c: \ path "' (HKCU) ou 'setx JAVA_HOME" c: \ path "-m' (HKLM) –

+0

Cool, c'était ce '/ M' qui me manquait. Merci! – javamonkey79

Questions connexes