您的位置:首页 > 编程语言 > Java开发

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined解决

2016-10-19 09:37 1106 查看
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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux java jdk tomcat
相关文章推荐