use uma versão java diferente para executar dois programas

6

Eu instalei dois JAVA JREs no meu novo CentOS, já que o Cassandra precisa do java7u25 ou posterior, enquanto o iReport precisa trabalhar com o 1.6.

Agora, como faço para iniciar cada programa a partir da linha de comando dizendo a cada programa qual versão usar?

Eu tenho que alterar o arquivo /etc/profile ? Se sim, como?

    
por Irene 13.01.2015 / 12:02

1 resposta

6

Não faz sentido ter os dois em $PATH porque apenas um será usado. Você poderia vincular um a um nome diferente - por exemplo, java6 - Eu nunca tentei este w / java e não tenho certeza se iria funcionar.

A melhor maneira de fazer isso seria instalar um deles (presumivelmente 1.6) em um local como /opt/java6 , deixando 1.7 como o padrão. Então quando você quiser usar 6:

export PATH=/opt/java6/bin:$PATH

E inicie a partir da linha de comando. Você também pode juntar tudo isso em um script. Não tente executar o Cassandra a partir do mesmo shell depois disso, a menos que você o remova de $PATH (a maneira fácil de verificar é echo $PATH ).

Para automatizar isso para um aplicativo específico:

#!/bin/sh

export PATH=/opt/java6/bin:$PATH
exec /path/to/application

Você pode colocar isso em algum lugar no $PATH normal (por exemplo, /usr/local/bin ), verifique se ele é executável ( chmod 755 whatever.sh ) e inicie o aplicativo dessa maneira. Não afetará $PATH no processo que a inicia.

    
por 13.01.2015 / 12:18

Tags