Usando una versión particular de Java en un directorio específico

Usando una versión particular de Java en un directorio específico

Mi versión predeterminada actual de Java es 7 (que, por ahora, no se puede actualizar; sé que ha llegado al EOL), pero también tengo instalado Java 8.

Sin embargo, tengo algunos archivos jar de terceros (todos contenidos en un directorio) que requieren Java 1.8. Cada jar tiene un script bash asociado para verificar las variables de entorno relevantes y construir el comando java necesario para ejecutar el jar. Cada script bash asume que el comando para invocar java es, como era de esperar, java.

¿Hay alguna manera de cambiar la versión de Java que se ejecuta cuando javase invoca de 7 a 8 enesta carpeta solo?

Respuesta1

Claro: agrega tu pwda tuPATH variable, en la posición más significativa,es decir,

 export PATH=.:$PATH

Deberías usar la versión anterior,no export PATH=$PWD:$PATHporque en este caso $PWDse evalúa en el momento de obtener el archivo bash que contiene el comando, mientras que usted desea que se evalúe cada vez.

Ahora cree un símbolo para la versión de Java que desea usar, en el directorio donde necesita que esto difiera de la versión estándar:

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

o como se llame su ejecutable.

Tenga en cuenta que incluir su PWD en su variable PATH es, sin embargo, un riesgo potencial de seguridad.

información relacionada