
Eu adicionei uma variável de ambiente para o jetty seguindoesta respostamas ainda recebo JETTY_HOME not set
erro:
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#
Esta é a minha /etc/environment
aparência:
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
O que estou fazendo de errado?
Responder1
Este é um erro bastante frustrante com pouca ajuda disponível. Pensei em postar minha solução aqui para alguém que está procurando resolver o mesmo problema.
De qualquer forma, a solução correta é definir JETTY_HOME
assim /etc/default/jetty
:
JETTY_HOME=/opt/jetty
Espero que isso ajude alguém.
PS: Este é o jetty 9 no Ubuntu 14.04 sobre Java 7.
Responder2
Não estou familiarizado com o serviço, mas em geral essas coisas funcionam por fork, ou seja, criando outro shell. Quando isso acontece, o novo shell não herda as variáveis do shell definidas localmente,excetopara aqueles que são explicitamente escolhidos para isso. Isso é feito por meio do comando export
, então você deve modificar seu comando para:
export JETTY_HOME=/opt/jetty
e da mesma forma para todas as variáveis que você deseja que seus subshells e filhas herdem.
Responder3
Acontece que o problema que tive foi que criei o arquivo "/opt/jetty" no Windows primeiro como um arquivo de texto e depois o enviei por FTP para o servidor. Isso não estava sendo reconhecido porque aparentemente era algum tipo de "formato DOS", então quando eu apaguei o arquivo e o refiz usando:
nano /etc/default/jetty
e colei as informações da variável dessa forma, de repente tudo funcionou!