Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running Windows 7 Professional x64 and have the following Java versions installed:


  • C:\Program Files\Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7


  • C:\Program Files (x86)\Java
    • jre1.6.0_07
    • jre6
    • jre7

in my environment variables I have my PATH containing C:\Program Files\Java\jdk1.6.0_24\bin and JAVA_HOME set to C:\Program Files\Java\jdk1.6.0_24\bin

However running java -version reports

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

How is this the case when there is no reference to this version of Java in my Environment variables.

Any help on this issue would be great as I am trying to run Apache ANT using Java 1.6.

share|improve this question
up vote 16 down vote accepted

You're probably have java.exe copied over to one of system paths (AFAIK that's Java installer default behavior). To check what actually executes when you run 'java -version' run from command line:
for %I in (java.exe) do @echo %~$PATH:I and it will tell you where it is.

share|improve this answer
Wow - that's so helpful! For some reason java.exe is in system32. I will move it it up the path like mentioned. – Malachi Sep 26 '12 at 16:33
Same problem here, java.exe was into system32 AND ProgramData\Oracle\javapath – Kevin Labécot Oct 8 '14 at 13:55
If you're wondering what to do next, you can rename the exes. I renamed java.exe, javaw.exe and javaws.exe to java-foobar.exe, javaw-foobar.exe and javaws-foobar.exe respectively. – JAnderton Dec 9 '14 at 9:22

The PATH folders are checked in the order they appear. Try moving the java path to the front. If that fixes the issue then you have another version somewhere on your path.

share|improve this answer

When installing a public JRE (used by the Java plugin), a java.exe file is also created in C:\WINNT\system32 (IIRC). It's probably this java command that is executed, since C:\WINNT\system32 comes before the JDK/bin directory in your PATH.

Put the JDK/bin directory at the beginning of the PATH

share|improve this answer

This will report the correct java version and it will also clue you in to what the problem is:

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
java -version
ECHO ---------------
share|improve this answer

As I recently found out, make sure that you're defining JAVA_HOME in the "System variables" section and not the "User variables" section.

I had %JAVA_HOME%\bin at the start of PATH but it wasn't working - adding JAVA_HOME to the system corrected the issue.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.