1. 程式人生 > >Neither the JAVA_HOME nor the JRE_HOME environment variable is defined解決

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 先看Tomcat的startup.bat,它呼叫了catalina.bat,而catalina.bat則呼叫了setclasspath.bat。只要在setclasspath.bat的開頭宣告環境變數,開啟tomcat的bin目錄下面的setclasspath.sh,新增紅色部分,路徑自己修改。windows  下用set。 #!/bin/sh  # ----------------------------------------------------- # Set CLASSPATH and Java options  #  # $Id: setclasspath.sh 467182 2006-10-23 23:47:06Z markt $  # ------------------------------------------------------ export JAVA_HOME=/usr/lib/jvm/java-7-sun  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(紅色部分) export JRE_HOME=/usr/lib/jvm/java-7-sun/jre  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(紅色部分) # First clear out the user classpath  CLASSPATH=  # Make sure prerequisite environment variables are set  if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then  # Bugzilla 37284  if $darwin && [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home" ]; then  export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home"  else  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"  exit 1  fi  fi  if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then  echo "JAVA_HOME should point to a JDK in order to run in debug mode."  exit 1  fi  if [ -z "$JRE_HOME" ]; then  JRE_HOME="$JAVA_HOME"  fi  # If we're running under jdb, we need a full jdk.  if [ "$1" = "debug" -o "$1" = "javac" ] ; then  if [ "$os400" = "true" ]; then  if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then  echo "The JAVA_HOME environment variable is not defined correctly"  echo "This environment variable is needed to run this program"  echo "NB: JAVA_HOME should point to a JDK not a JRE"  exit 1  fi  else  if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then  echo "The JAVA_HOME environment variable is not defined correctly"  echo "This environment variable is needed to run this program"  echo "NB: JAVA_HOME should point to a JDK not a JRE"  exit 1  fi  fi  fi