When I am trying to run tomcat using startup.bat I get the following error,
The JAVA_HOME environment variable is not defined correctly
This env
I had Win 8 x86 installed. My Path variable had entry C:\Program Files\Java\jdk1.6.0_31\bin and I also had following variables:
JAVA_HOME : C:\Program Files\Java\jdk1.6.0_31;JRE_HOME : C:\Program Files\Java\jre6;My tomcat is installed at C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.41
And still it did not worked for me.
I tried by replacing Program Files in those paths with Progra~1. I also tried by moving JAVA to another folder so that full path to it does not contain any spaces. But nothing worked.
Finally environment variables that worked for me are:
Program Files i.e. C:\Program Files\Java\jdk1.6.0_31\binJAVA_HOME : C:\Program Files\Java\jdk1.6.0_31JRE_HOMESo what I did is removed JRE_HOME and removed semicolon at the end of JAVA_HOME. I think semicolon should not be an issue, though I removed it. I am giving these settings, since after a lot of googling nothing worked for me and suddenly these seem to work. You can replicate and see if it works for you.
This also worked for Win 7 x64, where
C:\Program Files (x86)\Java\jdk1.7.0_17\binJAVA_HOME is set to C:\Program Files (x86)\Java\jdk1.7.0_17 (without semicoln)Please tell me why this worked, I know removing JRE_HOME was weird solution, but any guesses what difference it makes?