
Я добавил переменную окружения для Jetty, следуяэтот ответно я все еще получаю JETTY_HOME not set
ошибку:
root@b:/opt# echo $JETTY_HOME
/opt/jetty
root@b:/opt# service jetty start
** ERROR: JETTY_HOME not set, you need to set it or install in a standard location
root@b:/opt#
Вот как /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-7-openjdk-amd64/jre/bin/java":
JETTY_HOME=/opt/jetty
Что я делаю не так?
решение1
Это довольно раздражающая ошибка, и помощи по ней мало. Я подумал, что опубликую свое решение здесь для тех, кто ищет решение той же проблемы.
В любом случае, правильным решением будет установить JETTY_HOME
его /etc/default/jetty
следующим образом:
JETTY_HOME=/opt/jetty
Надеюсь, это кому-то поможет.
PS: Это jetty 9 на Ubuntu 14.04 поверх Java 7.
решение2
Я не знаком с сервисом, но в целом эти вещи работают путем разветвления, т.е. путем создания другой оболочки. Когда это происходит, новая оболочка не наследует локально заданные переменные оболочки,кромедля тех, которые явно выделены для этого. Это делается с помощью команды export
, поэтому вам следует изменить вашу команду на:
export JETTY_HOME=/opt/jetty
и то же самое для всех переменных, которые вы хотите, чтобы ваши подоболочки и дочерние элементы наследовали.
решение3
Как оказалось, проблема была в том, что я сначала создал файл "/opt/jetty" в Windows как текстовый файл, а затем отправил его по FTP на сервер. Он не распознавался, поскольку, по-видимому, был каким-то "форматом dos", поэтому, когда я удалил файл и переделал его с помощью:
nano /etc/default/jetty
и вставил переменную информацию таким образом, и вдруг все заработало!