2

Я добавил переменную окружения для 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

Что я делаю неправильно?

3 ответа3

2

Это довольно расстраивающая ошибка с небольшой помощью там. Я думал, что опубликую свое решение здесь для кого-то, кто хочет решить ту же проблему.

В любом случае, правильное решение - установить JETTY_HOME в /etc/default/jetty следующим образом:

JETTY_HOME=/opt/jetty

Надеюсь, это кому-нибудь поможет.

PS: Это Jetty 9 на Ubuntu 14.04 через Java 7.

0

Как оказалось, проблема, с которой я столкнулся, заключалась в том, что я сначала создал файл "/opt/jetty" в Windows в виде текстового файла, а затем отправил его по FTP на сервер. Это не было распознано, потому что это был, по-видимому, своего рода "формат DOS", поэтому, когда я удалил файл и переделал его, используя:

nano /etc/default/jetty

и вставил информацию о переменной таким образом, вдруг все заработало!

0

Я не знаком со службой, но в целом эти вещи работают путем разветвления, то есть путем создания другой оболочки. Когда это происходит, новая оболочка не наследует локально установленные переменные оболочки, за исключением тех, которые специально выделены для этого. Это делается с помощью команды export , поэтому вы должны изменить свою команду на:

    export JETTY_HOME=/opt/jetty

и аналогично для всех переменных, которые вы хотите, чтобы вы были подоболочками и дочерними объектами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .