Usando uma versão específica de java em um diretório específico

Usando uma versão específica de java em um diretório específico

Minha versão padrão atual do Java é 7 (que, por enquanto, não pode ser atualizada - sei que atingiu o EOL), mas também tenho o Java 8 instalado.

No entanto, tenho alguns jars de terceiros (todos contidos em um diretório) que requerem Java 1.8. Cada jar possui um script bash associado para verificar variáveis ​​de ambiente relevantes e para construir o comando java necessário para executar o jar. Cada script bash assume que o comando para invocar java é, sem surpresa, java.

Existe uma maneira de alterar a versão do java que é executada quando javaé invocada de 7 para 8 emsomente esta pasta?

Responder1

Claro: adicione your pwdà sua PATHvariável, na posição mais significativa,ou seja,

 export PATH=.:$PATH

Você deve usar a versão acima,não export PATH=$PWD:$PATHporque neste caso $PWDé avaliado no momento de obter o arquivo bash que contém o comando, enquanto você deseja que ele seja avaliado todas as vezes.

Agora crie um simbólico para a versão java que você deseja usar, no diretório onde você precisa que seja diferente da versão padrão:

ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java ./java

ou qualquer que seja o nome do seu executável.

Observe que incluir seu PWD em sua variável PATH é, no entanto, um risco potencial à segurança.

informação relacionada