日期:2014-05-16 浏览次数:20769 次
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
vim /etc/profile #设置 jdk 的环境变量 export JAVA_HOME=/usr/local/jdk export CLASSPATH=:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin