Почему JAVA_HOME не распознается tomcat7 в Ubuntu?
Я установил tomcat7 на свою машину Ubuntu. Когда я пытаюсь перезагрузить сервер, я получаю сообщение, чтобы установить JAVA_HOME, но он установлен в .bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export CATALINA_HOME=/usr/share/tomcat7
Ошибка:
[email protected]<ubuntu_14.04>:~$ sudo service tomcat7 restart
[sudo] password for omkars:
* no JDK or JRE found - please set JAVA_HOME
[email protected]<ubuntu_14.04>:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Что может быть пропало?
Спасибо.
Ответы
Ответ 1
Теперь его работа!
Изменения, которые я сделал, следующие:
- изменил
.bashrc
как объяснено в вопросе.
-
изменен /etc/init.d/tomcat7
на указывает на оракул Java8, который здесь отсутствует!
JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle **/usr/lib/jvm/java-8-oracle**"
Затем
[email protected]:~# sudo service tomcat7 restart
* Starting Tomcat servlet engine tomcat7 [ OK ]
Получите подсказку с этой страницы:
https://mifosforge.jira.com/wiki/display/MIFOSX/Install+Tomcat+7+on+Ubuntu+11.10+for+Mifos+X
Спасибо
Ответ 2
Кажется, что предпочтительный способ обработки этого - раскомментировать запись JAVA_HOME в /etc/default/tomcat7
и соответствующим образом настроить путь. Если вы используете репозиторий webupd8 с помощью oracle-java8-installer, он JAVA_HOME=/usr/lib/jvm/java-8-oracle
.
Ответ 3
Он должен быть установлен для пользователя, который запускает службу tomcat, а не для вашего пользователя.
Установите его в системном профиле, где-то в /etc/profile
или /etc/profile.d/
, в зависимости от того, как настроен ваш компьютер.
Ответ 4
Запуск script в /etc/init.d/tomcat7
отправляет файл /etc/default/rcS
перед поиском некоторых известных мест установки.
Добавление строки JAVA_HOME=/usr/lib/jvm/java-8-oracle
в /etc/default/rcS
исправляет проблему запуска no JDK or JRE found
без прямого изменения /etc/init.d/tomcat7
script.
Ответ 5
Вы можете установить переменную окружения в setenv.sh
script. Согласно Запуск документа Apache Tomcat 7.0:
Помимо CATALINA_HOME и CATALINA_BASE, все переменные среды могут указывается в "setenv" script. script помещается либо в CATALINA_BASE/bin или в каталог CATALINA_HOME/bin и называется setenv.bat(в Windows) или setenv.sh(on * nix).
Поэтому просто добавьте следующую строку в setenv.sh
:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
Таким образом вы устанавливаете переменную локально.
Ответ 6
У меня та же проблема, но я решаю ее, меняя
JDK_DIR в /etc/init.d/tomcat
следующим образом:
JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-8-oracle"
Ответ 7
Попробуйте установить Java, используя репозиторий http://www.webupd8.org.
Это для Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html