
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 java
se invoca de 7 a 8 enesta carpeta solo?
Respuesta1
Claro: agrega tu pwd
a 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:$PATH
porque en este caso $PWD
se 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.