Ответ 1
У меня была такая же проблема на моей машине с горным львом, и я использую эту команду:
$ unset CATALINA_HOME
и после этого он решил мою проблему. Эта команда отключит переменную окружения CATALINA_HOME
.
Я пытаюсь настроить tomcat-сервер, и я использую инструкции с веб-сайта, который дал мне указание
# Execute the Tomcat startup script
./startup.sh
но когда я вхожу в команду. /startup.sh, я получаю сообщение об ошибке
Cannot find /Library/Tomcat/Home/bin/setclasspath.sh
но setclasspath.sh есть (см. снимок экрана ниже):
Что я делаю неправильно?
теперь я не могу подключиться к домашней странице (см. снимок экрана ниже):
вот информация о пути:
У меня была такая же проблема на моей машине с горным львом, и я использую эту команду:
$ unset CATALINA_HOME
и после этого он решил мою проблему. Эта команда отключит переменную окружения CATALINA_HOME
.
просто запустите: $ unset CATALINA_HOME в терминале, и он снова работает.
Из-за разрешения вы можете запустить это с помощью root
$ sudo pathtotomcat/bin/./startup.sh
Пожалуйста, RESET CATALINA_HOME, чтобы указать правильный путь. Это должно решить проблему. например; в настоящее время это может быть в "/usr/share/tomcat6/", но вам нужно проверить и указать до нужного каталога, например "/usr/share/tomcat6/apache-tomcat-6.0.37/"
У меня тоже была аналогичная проблема, и я могу ее решить, просто изменив разрешение файла tomcat. Заставьте его читать и писать для всех. Команда sh startup.sh
отлично работает с Tomcat/7.0.34
Чтобы все скрипты выполнялись:
sudo chmod +x /Library/Tomcat/bin/*.sh
Надеюсь, он также решит вашу проблему.
Ответ ali хороший, но по какой-то причине мне также нужно было открыть .bash_profile и прокомментировать CATALINA_HOME
Это происходит почти наверняка из-за неправильного значения переменной среды CATALINA_HOME
в текущей оболочке. В моем случае, например, у меня была устаревшая установка tomcat, которую я удалил и установил другую версию, но забыл изменить env var, установленный в .bash_profile
. Поэтому любой из предложенных методов, которые удаляют var, будет работать. Если у вас CATALINA_HOME
установлен в .bash_profile
, удалите его. unset CATALINA_HOME
будет работать, но если он будет в профиле, он снова будет установлен, когда вы откроете новую оболочку.
Хотя все упомянутые ответы выглядят прекрасно, это хорошая идея, чтобы знать основную причину.
Где-то в вашей операционной системе файл устанавливает переменные среды для вашей операционной системы, одно из этих имен переменных - CATALINA_HOME
, указывающее на адрес или путь. когда вы пытаетесь запустить ./startup.sh
или catalina.sh run
, для этой команды требуется CATALINA_HOME
, установленная вашей операционной системой, и переопределит конфигурацию tomcat по умолчанию CATALINA_HOME
. (Возможно, вы использовали tomcat и задали эту переменную раньше, и теперь вы ее забудете)
Итак, главное решение - отредактировать этот специальный файл, и это действительно зависит от операционной системы. В моем случае Fedora
два файла являются кандидатами, один из которых - ~/.bashrc
, а другой - /etc/profile
. После их редактирования вам нужно source
их или log out
, а затем log in
(Вкл OS X
Я думаю, что он должен быть в файле /Users/username/.bash_profile
).
конечно команда unset CATALINA_HOME
работает, но после закрытия и открытия нового терминала снова вам нужно использовать эту команду из-за обновления.