Si descarga el binario de Linux desde Sun, puede instalarlo en el directorio que desee. Luego solo haga referencia a esas bibliotecas en su código, y estará listo para comenzar.
Con el instalador binario, creará su propio subdirectorio con nombre (por ejemplo, en su ejemplo, /usr/java/jdk1.5.0_), para que pueda descargar tantos como desee, y se alinearán en el nombre apropiado subdirectorios.
El binario java principal vive en / usr / bin, por lo que si desea reemplazarlo hasta el punto en que cuando escribe "java" accede a su java, y no a ese, simplemente mueva el viejo fuera de / usr / bin y vincule el nuevo allí. Escribir which javate dirá cuál es el java predeterminado en tu sistema.
@jldupont: Cuando pienso en instalaciones simultáneas, pienso en varias versiones instaladas en la misma máquina, que mi método le dará absolutamente. Tengo unas 12 versiones de java instaladas en mi caja de producción para manejar las transmisiones manuales de empresas que aún no se han actualizado.
Sin embargo, cuando escribe "java" solo obtendrá una versión de java, ya que eso es lo que está en '/usr/bin'... Debería escribir algo como' /usr/java/jdk1.5.1/ bin / java 'para obtener un binario java específico que no es el predeterminado del sistema.
Gracias pero necesito instalaciones concurrentes . ¿Cómo puedo hacer eso?
jldupont
Gracias. Ahora he instalado JDK5 en / opt y escribí un script bash para configurar las variables de entorno ... parece que funciona. ¡Pensé que sería más doloroso que esto!
jldupont
@jldupont: En realidad, esa es una de las cosas que me encantan de Linux ... Dado que no hay ningún registro que se interponga en el camino, puede instalar lo mismo cientos de veces, y no es un problema siempre y cuando se esté asegurando para no sobrescribir archivos comunes. Conozco a muchas personas que ejecutan (por ejemplo) múltiples versiones diferentes de Apache. Yo mismo tiendo a ejecutar múltiples versiones de Perl y Java.
Satanicpuppy
1
Simplemente descargue y ejecute el archivo .bin desde Oracle que luego se extrae en una carpeta. Mueva esta carpeta (por ejemplo jdk1.6.0_32) a / usr / lib / jvm y luego el script setjavaque uso para cambiar las versiones de Java. exportSin embargo, debido a las declaraciones, debe permanecer en la misma terminal. Además, algunas herramientas jvm pequeñas pueden no estar configuradas, pero supongo que deberían funcionar en la mayoría de los casos. También soy un novato de shell, así que corrígeme si hay una mejor posibilidad :-) El código para mí es:
#!/bin/bash
# shouldnt be used in a loop, else the path may become too long
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Not running as root"
exit
fi
case "$1" in
6)
echo "Setting Java version 6"
export PATH=/usr/lib/jvm/jdk1.6.0_32/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_32
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
7)
echo "Setting Java version 7"
export PATH=/usr/lib/jvm/java-7-openjdk/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk/
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
*)
echo "Usage: $0 {6|7}"
esac
exit 0
Simplemente descargue y ejecute el archivo .bin desde Oracle que luego se extrae en una carpeta. Mueva esta carpeta (por ejemplo
jdk1.6.0_32
) a / usr / lib / jvm y luego el scriptsetjava
que uso para cambiar las versiones de Java.export
Sin embargo, debido a las declaraciones, debe permanecer en la misma terminal. Además, algunas herramientas jvm pequeñas pueden no estar configuradas, pero supongo que deberían funcionar en la mayoría de los casos. También soy un novato de shell, así que corrígeme si hay una mejor posibilidad :-) El código para mí es:fuente