linux下tomcat無(wú)法啟動(dòng)
文章分類(lèi): 操作系統(tǒng)
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,它調(diào)用了catalina.bat,而catalina.bat則調(diào)用了setclasspath.bat。只要在setclasspath.bat的開(kāi)頭聲明環(huán)境變量,打開(kāi)tomcat的bin目錄下面的setclasspath.sh,添加紅色部分,路徑自己修改
?
#!/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-6-sun
export JRE_HOME=/usr/lib/jvm/java-6-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
if [ -z "$BASEDIR" ]; then
? echo "The BASEDIR environment variable is not defined"
? echo "This environment variable is needed to run this program"
? exit 1
fi
if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then
? if $os400; then
??? # -x will Only work on the os400 if the files are:
??? # 1. owned by the user
??? # 2. owned by the PRIMARY group of the user
??? # this will not work if the user belongs in secondary groups
??? eval
? else
??? echo "The BASEDIR environment variable is not defined correctly"
??? echo "This environment variable is needed to run this program"
??? exit 1
? fi
fi
# Set the default -Djava.endorsed.dirs argument
JAVA_ENDORSED_DIRS="$BASEDIR"/endorsed
# Set standard CLASSPATH
if [ "$1" = "debug" -o "$1" = "javac" ] ; then
? CLASSPATH="$JAVA_HOME"/lib/tools.jar
fi
# OSX hack to CLASSPATH
JIKESPATH=
if [ `uname -s` = "Darwin" ]; then
? OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
? if [ -d "$OSXHACK" ]; then
??? for i in "$OSXHACK"/*.jar; do
????? JIKESPATH="$JIKESPATH":"$i"
??? done
? fi
fi
# Set standard commands for invoking Java.
? _RUNJAVA="$JRE_HOME"/bin/java
if [ "$os400" != "true" ]; then
? _RUNJDB="$JAVA_HOME"/bin/jdb
fi
_RUNJAVAC="$JAVA_HOME"/bin/javac
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
