Neither the JAVA_HOME nor the JRE_HOME environment variable is defined解決
阿新 • • 發佈:2019-02-12
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