Should I add both JAVA_HOME and JRE_HOME in environmental variable, PATH?

Reagan Ochora picture Reagan Ochora · Jan 17, 2015 · Viewed 42.4k times · Source

I ran into this error while setting up my Tomcat and Java environmental path:

Neither the JAVA_HOME nor the JRE_HOME environmental variables is defined. At least one of the 2 environmental variables is needed to run this program.

In the user variables: I created JAVA_HOME variables and add C:\Program Files\Java\jdk1.8.0_25 to its path. and then did an edit of system variable PATH, added C:\Program Files\Java\jdk1.8.0_25; to the beginning of the its path. I also created JRE_HOME in user variable and added C:\Program Files\Java\jre1.8.0_25 to its path.

Is it necessary to create JRE_HOME and should I add the JRE path to the system variable also?

Answer

user257319 picture user257319 · Jan 12, 2016

This answer explains all the steps with screenshots and examples

Better Use the 8.3 directory-format. In fact No spaces, ever. 8.3 naming

  1. JAVA_HOME - your JDK folder
    C:\Program Files\Java\jdk1.6.0_45 == C:\PROGRA~1\Java\JDK16~1.0_4
    C:\Program Files\Java\jdk1.7.0_71 == C:\PROGRA~1\Java\JDK17~1.0_7
    C:\Program Files\Java\jdk1.8.0_25 == C:\PROGRA~1\Java\JDK18~1.0_2
    C:\Program Files\Java\jdk1.9.0 == C:\PROGRA~1\Java\JDK19~1.0

  2. JRE_HOME
    C:\Program Files\Java\jre6 == C:\PROGRA~1\Java\jre6
    C:\Program Files\Java\jre7 == C:\PROGRA~1\Java\jre7
    C:\Program Files\Java\jre1.8.0_25 == C:\PROGRA~1\Java\JRE18~1.0_2
    C:\Program Files\Java\jre1.9.0 == C:\PROGRA~1\Java\JRE19~1.0

  3. Addition to PATH - best practice!

    • USE WINDOWS+R
    • Enter C:\Windows\system32\systempropertiesadvanced.exe
    • Add ;C:\ProgramData\Oracle\Java\javapath; to the end of PATH
      (System Variables not User Variables).

    • Click OK, explore to C:\ProgramData\Oracle\Java\ and rename javapath folder (from C:\ProgramData\Oracle\Java\javapath\) to javapath_old.

    • Create new folder named javapath.
    • Start CMD and browse into (the now empty) C:\ProgramData\Oracle\Java\javapath\.
    • Run to create symbolic links:

      1. ln -s "C:\Program Files\Java\jre7\bin\java.exe" java.exe
      2. ln -s "C:\Program Files\Java\jre7\bin\javaw.exe" javaw.exe
      3. ln -s "C:\Program Files\Java\jre7\bin\javaws.exe" javaws.exe

    • Done with PATH and *_HOME, now let's continue with the Windows Registry.
  4. Open up you preferred registry editor (Registry Workshop is the best), browse HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit notice all installed versions are shown as keys, double click CurrentVersion (REG_SZ value) and modify its data to your preferred SDK version, mine is 1.7 (For Android Studio) Registry edit

  5. Do the same for HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment (with CurrentVersion) Registry edit

  6. Close down java-based programs such as eclipse or IntelliJ,

    • Open up task-manager- processes tab,
    • Look for explorer.exe, cmd.exe and java(*something*).exe programs,
    • Right-click eache and click End Task (not "End Process-Tree"!)
    • Click FileNew Task➩enter explorer.exe
      .

The changes you've done above were applied successfully
No need to reboot, no need to log-off/on again.