来自存储库和 Debian Wheezy 的 Tomcat 7。
如果我尝试通过服务启动 Tomcat,它不起作用
service tomcat7 start
[FAIL] no JDK found - please set JAVA_HOME ... failed!
但变量在那里
/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)..
当您直接运行初始化脚本时,将使用您的 shell 环境。当您运行服务命令时,它不是。您应该在/etc/default/tomcat7中设置 JAVA_HOME 。
您需要使用 Java 安装目录路径的值创建一个名为 JAVA_HOME 的环境变量。
如果您要进行部署,请使用 jre 路径,如果您需要访问开发工具,请使用 jdk 路径。