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 environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
But then I try C:\>echo %java_home%
and I get the following result
C:\Program Files\Java\jdk1.6.0_25\bin
I have even tried setting JAVA_HOME
manually to system variable list, but this issue remains.
What can I do to solve it?
I am using Windows 7.
After setting a new system variable named JAVA_HOME and setting its path to "C:\Program Files\Java\jdk1.6.0_25\bin\"
, I tried the start up script again and this time I get a new error.
D:\Work\apache-tomcat-6.0.35\bin>startup.bat
Files\Java\jdk1.6.0_25"" was unexpected at this time.
Any idea what this error means?
I even tried setting the path to "C:\Program Files\Java\jdk1.6.0_25\"
(that is without bin) but same error occurs.
Try installing java somewhere else - in a directory without spaces. Set again the JAVA_HOME
variable and try again. I remember Tomcat had some problems on Window XP with spaces if any variables it was using while starting contained spaces. Maybe it's similar with Windows 7.
I remember I had to change some lines in Tomcat java classes which were handling Tomcat startup.
@Edit: Luciano beat me to noticing it but you should also remove bin
from JAVA_HOME
@Edit: I also remember that another fix (didn't test it myself, though) was to set JAVA_HOME
to the shorthand version e.g. C:\Progra~1\Java\jdk1.6.0_25