Укажите JDK для tomcat7

41

Я установил tomcat7(использую apt-get install) и всякий раз, когда я хочу запустить, tomcat7он говорит:

* no JDK found - please set JAVA_HOME

Я установил JAVA_HOMEв моем, bash.bashrcа также в ~/.bashrcи когда я выпускаю, echo $JAVA_HOMEя ясно вижу, что эта переменная указывает на корневую папку моего jdk. Может ли кто-нибудь помочь мне с этим, пожалуйста?

Благодарность

Хоссейн
источник
2
Это помогло мне найти, где я могу сказать, tomcat7какой JDK использовать.
Ледяной воды
Тоже самое. Теперь я знаю, где Tomcat ищет JAVA_HOME.
Slayedbylucifer

Ответы:

78

Вы можете попробовать это:

Просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.

gksudo gedit /etc/default/tomcat7

Когда файл откроется, раскомментируйте строку, которая устанавливает переменную JAVA_HOME.

введите описание изображения здесь

Сохраните и перезапустите сервер Tomcat7.

Митч
источник
Обратите внимание, что обновление до JDK 7 сломает этот ответ. Использование символической ссылки без номера версии позволит выполнять обновления без аннулирования переменных среды.
Дэйв Джарвис,
1
Также работает tomcat8, просто замените tomcat7строки на tomcat8.
nachtigall
9

Tomcat на самом деле не будет использовать вашу переменную окружения JAVA_HOME, но будет искать в некоторых предопределенных местах и ​​в переменной JAVA_HOME, установленной внутри сценария запуска, как указывают другие ответы. Если вам не нравится возиться со сценарием запуска tomcat, вы можете создать символическую ссылку для предпочитаемой установки Java, которая будет подхвачена tomcat.

Например:

ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
djjeck
источник
2
Это конфликтует с посылкойdefault-jre-headless
Tino
5

Открытый терминал

echo $JAVA_HOME

Скопируйте результат. затем

sudo -H gedit /etc/default/tomcat7

Замените #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdkвыводом, с которого вы скопировали $JAVA_HOME.

user3201101
источник
2

Просто добавьте следующую строку в / etc / default / tomcat7, где определена переменная JAVA_HOME

JAVA_HOME=/usr/lib/jvm/java-7-oracle

затем выполните команду

sudo service tomcat7 restart
user249933
источник
0

Добавляя к ответу Митча (принятый ответ выше), проверьте свой /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

сделал работу для меня.

Акешвар Джа
источник