Tomcat 7 из репозитория и Debian Wheezy.
Если я попытаюсь запустить 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) ..
Когда вы запускаете сценарий инициализации напрямую, используется среда вашей оболочки. Когда вы запускаете служебную команду, это не так. Вы должны установить JAVA_HOME в / и т.д. / по умолчанию / tomcat7.
Вам необходимо создать переменную среды с именем JAVA_HOME со значением пути к каталогу вашей установки Java.
Если вы выполняете развертывание, используйте путь jre, если вам нужен доступ к инструментам разработки, используйте путь jdk.