Я пытаюсь настроить Apache Tomcat на моем компьютере, и он хочет, чтобы я установил переменную среды для CATALINA_HOME
. Кто-нибудь знает, как это сделать?
В bash можно задавать переменные следующим образом:
export CATALINA_HOME=/opt/catalina
большинство других оболочек следуют этому соглашению, но не все. Вы можете установить её постоянно в ~/.profile
для bash (и, как и раньше, у других оболочек есть другие места)
Переменные окружения уже должны работать
Если вы используете пакет tomcat6 из репозиториев Ubuntu, то CATALINA_HOME и другие переменные окружения уже установлены, в скрипте запуска /etc/init.d/tomcat6
.
Если вы устанавливаете tomcat вне менеджера пакетов (надеюсь, в /opt или где-нибудь еще вне управляемой файловой системы), то при запуске TOMCAT/bin/startup.sh
следует использовать относительное местоположение для определения CATALINA_HOME.
Установка переменной окружения
Если по какой-то причине вам все еще нужно установить переменную окружения, вы можете открыть терминальное окно и ввести команду:
export CATALINA_HOME=/path/to/the/root/folder/of/tomcat
Эта переменная окружения теперь будет работать в этом терминальном окне, но если вы откроете другое окно или выйдете/войдете в систему, вы потеряете эту установку.
Сделайте переменную окружения постоянной
Для того, чтобы переменная окружения стала постоянной, есть несколько мест, где вы можете определить эту установку.
Чтобы быть действительно уверенным в том, что значение переменной окружения выбрано, добавьте указанное выше значение в один из сценариев запуска для tomcat:
yourtomcatfolder/bin/startup.sh
yourtomcatfolder/bin/catalina.sh
Примечание: startup.sh вызывает каталину.sh. Вы должны добавить настройку в начало одного из этих файлов (после любых начальных комментариев)
Стандартным способом для глобальных переменных окружения будет добавление записи в /etc/environment
(вы не используете команду export в этом файле, так как это не обычный bash скрипт)
CATALINA_HOME=/path/to/the/root/folder/of/tomcat
Не рекомендуется
Вы можете установить переменные окружения в конфигурационных файлах bash (командной строки оболочки), но это не рекомендуется, так как они не всегда пикируются (например, в файле bash (командной строки оболочки). если вы запустили сервер, на который вы не заходите, чтобы запустить tomcat): ~/.bashrc | ~/.профиль | /etc.bash.bashrc | /etc/profile
Лучшее место для этого зависит от того, как и где вы установили Tomcat, какие приложения вы хотите получить эту настройку и насколько глобальными вы хотите сделать область видимости.
В документации по переменным окружения Ubuntu обсуждаются плюсы и минусы различных опций.
После просмотра документации Ubuntu по переменным окружения, я придумал следующее обходное решение:
##Save & run the following in a shell script,
export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash
В последней строке создается дочерняя оболочка, которая наследует значения переменных окружения от родительской оболочки (которые только что были заданы).
nano ~/.bashrc
Скорее всего, он уже будет содержать довольно много данных. Большинство определений здесь предназначены для установки параметров bash, которые не связаны с переменными среды. Вы можете установить переменные окружения точно так же, как в командной строке:
export VARNAME=value
Я тестировал это на Ubuntu 16.04. Отлично работает.
Для установки постоянных переменных среды в последних версиях Ubuntu (начиная с 14.04 и выше)
добавьте переменные в / etc / environment
. Для этого следуйте приведенным ниже инструкциям:
Откройте терминал и запустите
sudo -H gedit /etc/environment
, введите свой пароль, затем в текстовом файле с запросом
добавьте переменные, такие как
ANT_HOME="/opt/ANT/"
Образец из / etc / environment
приведен ниже
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"
не забудьте выйти и снова войти, чтобы включить переменные среды.
Как указано выше, Я буду использовать экспорт для сохранения переменной среды с небольшой разницей. Я предпочитаю сохранять их в локальном файле.
echo "export POSTMARK_SERVER_TOKEN=sekritvalue" >> .env
Таким образом, в любое время и с любого терминала ваша переменная будет работать и быть там с вашим проектом. Не забудьте включить .env в свой .gitignore, НЕ нажимайте их на Git.