How to change Java version on Windows 10

10

4

I have done the following:

1. Set the environment variable JAVA_HOME: enter image description here

2. Add Java 1.6.0_45 and disable Java 1.8.0_66 in Java Runtime Environment Settings under Configure Java: enter image description here

Unfortunately, the Java is still 1.8.0_66:

>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

Could anyone offer a tip on this?

Edit:

Per David's suggestion, the following is the Java related contents from the output of command PATH (the entire output is super long, I hope the following is sufficient for this question.):

PATH=C:\ProgramData\Oracle\Java\javapath; ... C:\Program Files\Java\jdk1.6.0_45\bin

Hong

Posted 2016-03-26T11:11:44.647

Reputation: 369

1Please [edit] and include the output of path in a cmd shell. – DavidPostill – 2016-03-26T11:23:28.023

@DavidPostill I have just done it following your suggestion. Thank you. – Hong – 2016-03-26T11:37:59.060

1C:\ProgramData\Oracle\Java\javapath will be 1.8.0_66. Put C:\Program Files\Java\jdk1.6.0_45\bin first. – DavidPostill – 2016-03-26T11:39:35.133

Note that changes to environment variables may not be fully applied until you sign in again. Reboot and try java -version again. – gronostaj – 2016-03-26T11:41:08.613

@DavidPostill I noticed that after checking the path per your suggestion. Windows 10 does not allow me to edit the path because it says "This environment variable is too large." I know there should be another question to deal with this separately. – Hong – 2016-03-26T11:45:50.240

1Have you tried to put just ´%JAVA_HOME%\bin´ instead ´C:\Program Files\Java\jdk1.6.0_45\bin´ – Stackcraft_noob – 2016-03-26T11:45:59.250

@Hong "This environment variable is too large" - you need to clean up your path. My guess is you have a lot of dupe entries. – DavidPostill – 2016-03-26T12:01:00.580

@DavidPostill I managed to delete "C:\ProgramData\Oracle\Java\javapath" and put "%JAVA_HOME%\bin" first. Now Java -version returns "1.6.0_45". The PATH command returns "C:\Program Files\Java\jdk1.6.0_45\bin;" as the first. Could you turn your comment to an Answer so that I can accept and close this question? – Hong – 2016-03-26T12:43:55.633

@Stackcraft_noob ´C:\Program Files\Java\jdk1.6.0_45\bin´ was actually the result of ´%JAVA_HOME%\bin´ that I added to the user (not system) variable PATH. Now I have moved it to the system PATH. – Hong – 2016-03-26T12:46:42.803

@gronostaj I have noticed that I need to restart CMD, not the computer, after changing the environment. – Hong – 2016-03-26T13:10:46.500

@Stackcraft_noob thanks for the tip, for me, the windows didn't want to recognize the ´C:\Program Files\Java\jdk1.6.0_45\bin´, but did accept ´%JAVA_HOME%\bin´ – CsBalazsHungary – 2017-02-24T13:36:37.733

I would remove javapath from PATH and add the actual java version directory directly. This allows easy switching without the need to maintain the registry. Note that this is not true for in-Browser Java. – eckes – 2017-05-27T18:45:28.340

Answers

10

java -version is running the wrong version of java.

Diagnostics:

>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

the following is the Java related contents from the output of PATH:

PATH=C:\ProgramData\Oracle\Java\javapath; ... C:\Program Files\Java\jdk1.6.0_45\bin

Conclusion:

From the above output we can deduce that C:\ProgramData\Oracle\Java\javapath is 1.8.0_66.

You need to change your PATH to put C:\Program Files\Java\jdk1.6.0_45\bin first.

I noticed that after checking the path per your suggestion. Windows 10 does not allow me to edit the path because it says "This environment variable is too large." I know there should be another question to deal with this separately.

You also need to clean up your path. My guess is you have a lot of duplicate entries.

DavidPostill

Posted 2016-03-26T11:11:44.647

Reputation: 118 938

1Order changing doesn't help, java -version is always 8. My configuration: Windows 10 with jdk 8 installed alongside jdk 7. – naXa – 2018-03-12T14:13:03.213

@naXa Please ask your own question, supplying the appropriate information. – DavidPostill – 2018-03-12T14:15:35.847

3

This is the REAL active JAVA executable into your PATH:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;

Remove it and the system take the value from

...;%JAVA_HOME%\bin\;

Robot Model 67

Posted 2016-03-26T11:11:44.647

Reputation: 39

1

No, it's not a "REAL" java! It's the oracle's way to redirect the "java.exe", etc. simple executions to the "REAL" java installation, which is specified in Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

So this solution is replacing the registry-based indirection (managed by java installers) with the Environment-variable based indirection (managed by theuser).

See also: https://stackoverflow.com/a/51457823/849897

– MGM – 2019-04-15T14:02:57.250

2

I have the same problem, I have set JAVA_HOME:

C:\Program Files\Java\jdk1.7.0_75

and Path to:

%JAVA_HOME%\bin

I need run jdk 7. When I run java -version it always appear jdk 8.

I solved it with: in System Environment --> Path --> order %JAVA_HOME%\bin to first.

Tarmizi Hamid

Posted 2016-03-26T11:11:44.647

Reputation: 31

This answer is correct – cool – 2018-04-25T15:09:50.800

This is the correct answer !! Thank you very much !! – Shalika – 2019-06-30T08:58:47.603

1

enter image description here

As you can check the javapath variable under system's environment path variable.

So if you want to use your own version.You can do

  • 1) Create new variable in systems variable
  • 2) Name it as JAVA_HOME and give jdk installation path
  • 3) add this variable in path and move it to top.
  • 4) check java -version

you need to create a JAVA_HOME

cool

Posted 2016-03-26T11:11:44.647

Reputation: 111

1

Check also registry. Press Win key-R, type regedit. Search for Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment. If there is something different, than you expect, than it is better to reinstall Java. If it not possible, very carefully change the settings. Be aware, that from version to version the setup can be different. In my case I would to downgrade from Java 1.9 to 1.8.

Java Registry Setup

hariprasad

Posted 2016-03-26T11:11:44.647

Reputation: 141