tomcat startup.sh проблема с поиском JAVA_HOME - PullRequest
5 голосов
/ 02 апреля 2010

Я немного озадачен этим странным поведением в CentOs 5.4 при запуске Tomcat 6.0 в качестве службы

Я добавил скрипт в /etc/init.d/tomcat, который может запускать / останавливать / перезапускать Apache Tomcat 6.0 с пользователем 'tomcat', и зарегистрировал его как сервис. Проблема со службой заключается в том, что я получаю сообщение «Ни переменная окружения JAVA_HOME, ни JRE_HOME не определены». Но когда набираете «sudo -u tomcat echo $ JAVA_HOME», я получаю «/usr/java/jdk1.5.0_22», что правильно, поскольку я использую этот JDK. Что я могу с этим поделать?

Ответы [ 4 ]

11 голосов
/ 29 октября 2012

У меня возникла та же проблема, и я решил ее, поместив определение переменной JAVA_HOME в файл /etc/environment.

Изначально я создал переменную окружения JAVA_HOME, вызывая:

$ export JAVA_HOME=<path_to_my_java_home>

Затем я понял, что скрипт Tomcat startup.sh не может получить доступ к значению переменной JAVA_HOME, когда она вызывается с sudo, что необходимо для запуска сервера Tomcat.

Сначала я попытался экспортировать переменную JAVA_HOME с помощью sudo, но она не сработала:

$ sudo export JAVA_HOME=<path_to_my_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 Браузер открывает стартовую страницу Tomcat, которая сообщает, что сервер успешно настроен.

2 голосов
/ 02 апреля 2010

Вы пытались принудительно заставить переменную JAVA_HOME env в самом стартовом скрипте? Всякий раз, когда я сталкиваюсь с подобной проблемой, я нахожу хорошим методом устранения неполадок попытаться отследить, где она теряет эту информацию, установив ее в самих сценариях.

0 голосов
/ 14 июля 2017

В bin / catalina.sh просто добавьте JAVA_HOME для crontab как

# For CRONTAB
export JAVA_HOME=/usr/java/latest
# END
0 голосов
/ 02 апреля 2010

Вы проверили пути в /etc/profile.d/java.sh?

Также попробуйте проверить, с какой версией java она возвращается: с какой java

это должно вернуть точные пути в java.sh, если нет неправильной конфигурации. в последнем случае удалите все Java и переустановите последний JDK.

Во всяком случае, эти сообщения пригодятся в избранном для дальнейшего использования.

http://www.centos.org/modules/newbb/viewtopic.php?topic_id=5717&forum=28

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...