在启动Tomcat 6.0作为服务时,我对CentOs 5.4上的这种奇怪行为感到有些困惑
我在/etc/init.d/tomcat添加了一个脚本,它可以用用户'tomcat'启动/停止/重启Apache Tomcat 6.0,并将其注册为服务.该服务的问题是我得到了'既未定义JAVA_HOME也未定义JRE_HOME环境变量'.但是当输入'sudo -u tomcat echo $ JAVA_HOME'时,我得到'/usr/java/jdk1.5.0_22'这是正确的,因为我使用的是JDK.我该怎么办?
我有同样的问题,并通过将JAVA_HOME
变量定义放在文件上来解决它/etc/environment
.
最初我创建了JAVA_HOME
环境变量调用:
$ export JAVA_HOME=
然后我意识到Tomcat startup.sh
脚本JAVA_HOME
在调用变量时无法访问变量的值sudo
,这是启动Tomcat服务器所必需的.
首先我尝试使用导出JAVA_HOME
变量sudo
,但它不起作用:
$ sudo export JAVA_HOME=sudo: export: command not found
然后我尝试将JAVA_HOME
变量定义添加到/etc/environment
文件中.以下是我的/etc/enviroment
文件现在的样子:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" JAVA_HOME=/usr/lib/jvm/java-7-oracle
然后在调用Tomcat startup.sh
脚本sudo
并访问http://localhost:8080
brownser后会带来Tomcat启动页面,该页面表明服务器已成功安装.