Я установил tomcat7
(используя apt-get install
), и всякий раз, когда я хочу начать tomcat7
, он говорит:
* no JDK found - please set JAVA_HOME
Я установил JAVA_HOME
в моем bash.bashrc
, а также в ~/.bashrc
и когда я выпускаю echo $JAVA_HOME
, я ясно вижу, что эта переменная указывает на корневую папку моего jdk. Может ли кто-нибудь помочь мне с этим, пожалуйста?
Спасибо
Вы можете попробовать это:
Просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.
gksudo gedit /etc/default/tomcat7
Когда файл откроется, раскомментируйте строку, которая устанавливает переменную JAVA_HOME.
Сохраните и перезапустите сервер tomcat7.
Tomcat на самом деле не будет использовать вашу переменную окружения JAVA_HOME, но будет искать в некоторых предопределенных местах и в переменной JAVA_HOME, установленной внутри сценария запуска, как указывают другие ответы. Если вам не нравится возиться со сценарием запуска tomcat, вы можете создать символическую ссылку для предпочитаемой установки Java, которая будет подхвачена tomcat.
Например:
ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
Просто добавьте следующую строку в / etc / default / tomcat7, где определена переменная JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-7-oracle
, затем выполните команду
sudo service tomcat7 restart
В дополнение к ответу Митча (принятый ответ выше), проверьте каталог /usr/lib/jvm/
. Обычно там устанавливается сама Java.
Возможно, у вас установлена Oracle Java или установлена последняя версия Java. Просто проверьте каталоги на /usr/lib/jvm/
и добавьте тот, в котором находится ваша java.
Для меня это было:
/usr/lib/jvm/java-8-oracle
Итак, замените
#JAVA_HOME=/some/directory
на
#JAVA_HOME=/usr/lib/jvm/java-8-oracle
сделал работу для меня.
Открыть терминал
echo $JAVA_HOME
Скопировать результат. Затем
sudo -H gedit /etc/default/tomcat7
Замените #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
выводом, который вы скопировали из $JAVA_HOME
.