在linux中Tomcat启动失败:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined.....解决

在linux操作系统中启动tomcat时,出现这个错误:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program。

解决思路:

  •   刚开始我以为我的jdk环境变量没有配置好,就去检查了我的jdk环境配置:
  1. export JAVA_HOME=/user/lib/jvm/jdk1.8  
  2. export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
  3. export  PATH=${JAVA_HOME}/bin:$PATH 

  •    没有毛病,然后我查看了jdk 的版本信息 (java -version)

 java version "1.8.0_171"
 Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

 Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

  • 也没有毛病,最后上网查找了一下,才知道原来在启动tomcat时,需要手动在tomcat/bin/setclasspath.sh文件里声明jdk的环境变量。原因是在启动Tomcat时会调用tomcat的安装文件中的startup.bat文件,而startup.bat文件又调用了catalina.bat文件(即setclasspath.sh文件)。

解决方法:

用vim打开tomcat的bin目录下的setclasspath.sh添加JAVA_HOME和JRE_HOME两个环境变量,两个环境变量路径为您安装的java JDK的路径。如下图所示:

在linux中Tomcat启动失败:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined.....解决