How to change Java version on Windows 10
Solution 1
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.
Solution 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.
Solution 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\;
Solution 4
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.
Solution 5
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
Related videos on Youtube
![Karim Kane](https://lh4.googleusercontent.com/-yQnMlgOfoJU/AAAAAAAAAAI/AAAAAAAAADc/ULWpMiJodMc/photo.jpg?sz=256)
Karim Kane
Updated on September 18, 2022Comments
-
Karim Kane almost 2 years
I have done the following:
1. Set the environment variable JAVA_HOME:
2. Add Java 1.6.0_45 and disable Java 1.8.0_66 in Java Runtime Environment Settings under Configure Java:
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
-
DavidPostill over 8 years
-
Karim Kane over 8 years@DavidPostill I have just done it following your suggestion. Thank you.
-
DavidPostill over 8 years
C:\ProgramData\Oracle\Java\javapath
will be1.8.0_66
. PutC:\Program Files\Java\jdk1.6.0_45\bin
first. -
gronostaj over 8 yearsNote that changes to environment variables may not be fully applied until you sign in again. Reboot and try
java -version
again. -
Karim Kane over 8 years@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.
-
Stackcraft_noob over 8 yearsHave you tried to put just ´%JAVA_HOME%\bin´ instead ´C:\Program Files\Java\jdk1.6.0_45\bin´
-
DavidPostill over 8 years@Hong "This environment variable is too large" - you need to clean up your path. My guess is you have a lot of dupe entries.
-
Karim Kane over 8 years@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?
-
Karim Kane over 8 years@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.
-
Karim Kane over 8 years@gronostaj I have noticed that I need to restart CMD, not the computer, after changing the environment.
-
CsBalazsHungary over 7 years@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´
-
Mathew Lionnet about 7 yearsI 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.
-
-
naXa stands with Ukraine over 6 yearsOrder changing doesn't help,
java -version
is always 8. My configuration: Windows 10 with jdk 8 installed alongside jdk 7. -
DavidPostill over 6 years@naXa Please ask your own question, supplying the appropriate information.
-
Somnath Sarode about 6 yearsThis answer is correct
-
MGM about 5 yearsNo, 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: stackoverflow.com/a/51457823/849897
-
Shalika almost 5 yearsThis is the correct answer !! Thank you very much !!
-
ponder275 about 4 yearsI had to restart my computer before it worked.
-
asa9ohan over 3 yearsAfter hours of experimenting with the environment variables and the java config settings in VS Code, this finally made it clear what actually determined which version of java was running... thank you
-
Marc Bouvier over 2 yearsWith old java installers a java.exe is often present in
c:\Windows\System32
the classic headache!