Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Script to Change JAVA_HOME System Variable in Windows

I do most of my work against JDK 1.5 - but occasionally I have to change to 1.6. it is a bit painful to have to manually go and change my 'JAVA_HOME' system variable whenever I need to work on a project specific to one or the other (and no, Eclipse doesn't play well in these scenarios - trust me...I've tried.)

I'm looking for a registry script or windows shell script or for that matter any means by which I can "toggle" this system variable with something that is easy to run.

I've messed with the 'set' command, but that only sets the variable for that particular command instance - not globally.

Thanks in advance.

EDIT #1: Points of advise:

  • Use the JAVA_HOME variable in your path variable as well, that way you only have to change the JAVA_HOME (which is used in many projects anyways [maven, ant, etc])
  • Write the command into a couple batch scripts for easy use
  • When you make the change the windows command session will not reflect it right away. You must close and reopen it.
like image 521
javamonkey79 Avatar asked Dec 02 '10 18:12

javamonkey79


People also ask

How do I set JAVA_HOME environment variable?

To set JAVA_HOME, do the following: Right click My Computer and select Properties. On the Advanced tab, select Environment Variables, and then edit JAVA_HOME to point to where the JDK software is located, for example, C:\Program Files\Java\jdk1. 6.0_02.

Is JAVA_HOME system or User variable?

JAVA_HOME is an operating system (OS) environment variable which can optionally be set after either the Java Development Kit (JDK) or the Java Runtime Environment (JRE) is installed. The JAVA_HOME environment variable points to the file system location where the JDK or JRE was installed.


1 Answers

You could use setx for that purpose

Like so:

setx /M JAVA_HOME "C:\Program Files (x86)\Java\jdk1.6.0_17"
like image 93
barti_ddu Avatar answered Sep 19 '22 13:09

barti_ddu