Instalei o ServiceMix na minha máquina e estou tentando iniciá-lo. O script de inicialização é chamado de start.sh. Quando eu fiz ./start.sh , ele me deu uma mensagem de permissão negada. Então eu usei sudo ./start.sh , que inicia o servidor bem.
No entanto, parece estar usando o Java 7, quando eu gostaria de usar o Java 6 (por várias razões). Analisei o script start.sh e descobri que ele usa a variável JAVA_HOME . Então eu configurei meu JAVA_HOME para o diretório do JDK 6.
No entanto, o ServiceMix ainda usa o Java 7.
Uma pesquisa no Google revelou que quando um comando é executado com o sudo, o sudo remove certas variáveis de ambiente. Então eu fiz sudo -E ./start.sh . Novamente, usou o JDK 7.
Eu abri o start.sh e adicionei uma linha, echo $JAVA_HOME para ver se a variável está definida corretamente ou não. A saída de echo era uma linha vazia.
Eu tentei modificar o arquivo / etc / sudoers para incluir Defaults env_keep += "JAVA_HOME" . A execução de start.sh agora me diz que minha instrução de eco é novamente uma linha vazia. O ServiceMix ainda usa o JDK 7.
Eu tentei definir JAVA_HOME em /etc/profile . A execução de start.sh agora me diz que minha instrução de eco é novamente uma linha vazia. Novamente, o ServiceMix usa o JDK 7.
Que erro estou fazendo aqui?
FWIW, estou no Mac OS X 10.8.2. echo $SHELL no meu terminal retorna / bin / bash. Quando eu uso sudo su e fogo echo $SHELL , ele retorna / bin / sh.