启动Tomcat的时候出现以下错误
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
这个错误总之来说就是Tomcat没有找到JAVA_HOME这个变量。
没有找到JAVA_HOME无非两个问题。
1、 是我们java的环境变量没有配置正确。 这个问题我们直接可以在命令行中使用java 和javac就可以发现
2. 如果我们的环境变量设置的没有问题,可能就是我们的Tomcat,没有找到JAVA_HOME。
我们使用的startup.bat命令实际调用的是setclasspath.bat这个文件。我们将JAVA_HOME配置在这个文件中,就可以让tomcat找到了。
我们在这个文件的开头位置设置JAVA_HOME和JRE_HOME即可
set JAVA_HOME=E:\java\jdk\jdk1.8
set JRE_HOME=E:\java\jdk\jre1.8
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 908749 2010-02-10 23:26:42Z markt $
rem ---------------------------------------------------------------------------
set JAVA_HOME=E:\java\jdk\jdk1.8
set JRE_HOME=E:\java\jdk\jre1.8
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit
保存之后,重启tomcat就OK了。