由init.d启动tomcat的工作,但它不服务

来自仓库和Debian Wheezy的Tomcat 7。

如果我尝试通过服务启动Tomcat,它不起作用

service tomcat7 start [FAIL] no JDK found - please set JAVA_HOME ... failed! 

但variables在那里

 /var/lib/tomcat7/conf# echo $JAVA_HOME /usr/lib/jvm/java-7-oracle 

如果我尝试从init.d它的工作

 /etc/init.d/tomcat7 start [ ok ] Starting Tomcat servlet engine: tomcat7. 

查看/ etc / inittab

 # The default runlevel. id:2:initdefault: 

默认似乎是2

所以,在/etc/rc2.d中查找

 lrwxrwxrwx 1 root root 17 Nov 18 22:50 S01tomcat7 -> ../init.d/tomcat7 

它似乎总是指相同的/etc/init.d/tomcat7,我不明白为什么它失败(抱怨java)..

当你直接运行一个init脚本时,你的shell的环境被使用。 当你运行服务命令时,它不是。 您应该在/ etc / default / tomcat7中设置JAVA_HOME。

您需要使用Java安装目录path的值创build一个名为JAVA_HOME的环境variables。

如果您正在部署使用jrepath,如果您需要访问开发工具使用jdkpath。