今天在玩tomcat时,用终端启动tomcat时报错。
环境如下:
1、ubuntu 9.04
2、tomcat安装路径
/usr/local/apache/tomcat-6.0.18/bin
3、.bashrc中 Java 环境变量
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_13
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/
在终端启动tomcat的命令
sudo startup.sh
报错
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
提示没有“JAVA_HOME”或者"JRE_HOME"环境变量。
已经在.bashrc文件中定义过,而且echo $JAVA_HOME都可以显示出正确的JAVA目录。再次新建shell文件测试echo $JAVA_HOME,结果也有。百思不得其解,就这样浪费了大半天,只好让朋友帮忙解决。
原来:
我启动是tomcat用"sudo"前缀,表示在root环境下执行startup.sh,但我定义 java环境变量却是在当前用户环境(非root用户)下(.bashrc文件),问题在此。
所以,启动tomcat时应在具有jre用户环境启动($ ./startup.sh)。
建议:
其它用户需要用到的环境变量,定义在:/etc/profile中。而个人设置定义在.bashrc文件中。