62

When I do

echo %JAVA_HOME% 

it returns %JAVA_HOME% on windows 10 what did I do wrong?

MrTux
  • 32,350
  • 30
  • 109
  • 146
gaming with yoty
  • 731
  • 1
  • 5
  • 12

12 Answers12

61

If you are sure that you have set them properly, you can print your environment variables like JAVA_HOME using any of the below methods in Windows 10.


  1. Windows Command prompt ( cmd.exe )

    C:\>echo %JAVA_HOME%
    C:\Program Files\Java\jdk1.7.0_80
    

  1. Git Bash within windows, you need to use the bash format

    user12231@TP-UN103 MINGW64 /c
    $ echo $JAVA_HOME
    C:\Program Files\Java\jdk1.7.0_80
    

  1. From the conversation, it looks like you are using Windows 10 powershell.
    To print the environment variable in windows powershell, use one of the following commands as below

    PS C:\>Get-ChildItem Env:JAVA_HOME
    
    Name                           Value
    ----                           -----
    JAVA_HOME                      C:\Program Files\Java\jdk1.7.0_80
    

    or

    PS C:\> echo $env:JAVA_HOME
    C:\Program Files\Java\jdk1.7.0_80
    

    You can refer the Powershell documentation here.

    https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-6#displaying-environment-variables


sr56
  • 711
  • 5
  • 4
  • 2
    That's how I wish an answer to be! Mentions possible cases, discerns user-specific problem, examples and relevant link to documentation. – Wolfone Oct 22 '18 at 09:22
  • In PS (powershell) without echo, just giving $env:JAVA_HOME will also gives the output of set Java_home variable value. First preference with the User level declaration (to be noted for any corporate systems, where the system level env variables are protected from edits) – rinilnath Apr 14 '22 at 13:40
31

There is high possibility that you used the Windows10 PowerShell terminal unknowingly instead of the standard windows command prompt.

In a standard Windows command prompt, when you type the below command, you would get the JAVA_HOME path as expected.

echo %JAVA_HOME%

Upon issuing the same command in PowerShell you would see %JAVA_HOME% written out.

PowerShell does things differently. In this case to output environment variables, you need to use

echo $env:JAVA_HOME

Additional tip: To print all environment variables dictionary use

dir env:
srk
  • 4,857
  • 12
  • 65
  • 109
Priyesh Diukar
  • 2,032
  • 1
  • 15
  • 19
  • 2
    Thanks... surely this is the most useful answer to the OP, as it provides a solution that helps achieve what they're trying to achieve by trying `echo %JAVA_HOME%` – olisteadman Jul 02 '19 at 13:33
6

The syntax depends on the shell/terminal you are using. Try

echo $JAVA_HOME

this is the syntax for bash, for instance if you are using Git Bash to run your commands.

Matsemann
  • 21,083
  • 19
  • 56
  • 89
4

In windows, Open powershell and try this command

echo $env:JAVA_HOME

Or if you have Git Bash installed then try

echo $JAVA_HOME
AddeusExMachina
  • 592
  • 1
  • 11
  • 22
Suryakant kumar
  • 100
  • 1
  • 6
2

If you just added the System Variable you need to reboot for System to read it

if you are using an classic cmd command "echo %JAVA_HOME%" in windowsJAVA is fine

Kiki Risager
  • 86
  • 1
  • 3
1

Your command is correct for a windows 10 machine. And the result tells us, that this variable is not set. You can look for the settings for the environment variables in your start menu. You'll see settings for other variables like Path, TEMP and so on. There you can add JAVA_HOME (here without %). The path would be like this (from my pc): C:\Program Files\Java\jdk1.8.0_161

JWo
  • 650
  • 1
  • 6
  • 23
1

It prints "JAVA_HOME" because you didn't set JAVA_HOME variable or you have typo in variable name. Just go to your environment variables settings and check if it's correct. If you don't have JAVA_HOME there just look at this question: How to set JAVA_HOME

Rafał Sokalski
  • 1,817
  • 2
  • 17
  • 29
1

For Windows Powershell use

$env:JAVA_HOME

For Windows Command Prompt use

echo %JAVA_HOME% 
Shivam Anand
  • 952
  • 1
  • 10
  • 21
0

I'm not sure, but i thought you need $ for Environment Variables.

Try: echo $JAVA_HOME

SleepyX667
  • 670
  • 9
  • 21
0

I know this answer is well overdue, but after hours of searching, it solved the problem for me.

Reinstall everything (git, jdk/jre, potentially maven), but when you do, leave EVERYTHING as its default value. Do not change any of the settings, DO NOT CHOOSE A SPECIFIC SAVE LOCATION that is convenient for you, etc. Leave everything as their default values.

Turns out, git is particularly rigid when it comes to flexibility, and it doesn't play well if you change the install location. When I was installing git, I changed the save location. I had been installing and practicing a bunch of new tools, and I wanted to have them all in one isolated spot. Just goes to show that the default way is usually the best way.

davidalayachew
  • 1,279
  • 1
  • 11
  • 22
0

i think u have installed jre, install jdk, your problem should be solved.

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – ethry Oct 04 '22 at 01:55
0

Check that you've added JAVA_HOME variable in a corresponding block. If wrong, add in the bottom block and restart Windows.

enter image description here

CoolMind
  • 26,736
  • 15
  • 188
  • 224
  • If you set it as a user variable, it's only available to the current user. If you set it as a system variable, it's available for all users – Mike Yang Jul 06 '23 at 13:46