Java fue desarrollado por Sun (hoy propiedad de Oracle) allá por 1992, y surgió a partir de la necesidad de crear una plataforma que permitiera el desarrollo de código fuente universal. La idea era desarrollar aplicaciones que pudieran ser creadas en cualquier sistema operativo que cuente con soporte para Java y luego ser ejecutadas en cualquier otro sin necesidad de modificaciones, lo cual en la jerga era conocido como WORA (“write once run anywhere”, o “escribir una vez, ejecutar en cualquier lado”).
Así es como Java llegó a los sistemas operativos más importantes como Windows, Mac OS X (en aquel momento, MacOS) y como no Linux. En este caso claro, con llegada a muchas distros, aunque no todos los sistemas de paquetes lo incorporan en forma amigable u ofrecen las versiones más nuevas. Y en algunos casos bastantes notorios como el de Ubuntu, hay que dar unas cuantas vueltas para instalar tanto el runtime de Java como su SDK si así lo preferimos (o necesitamos para comenzar a desarrollar código).
Ahora vamos a ver cómo instalar Java en Ubuntu, algo que no es del todo complicado aunque si requiere de algunos pasos que conviene tener bien claros, sobre todo porque además en la actualidad tenemos la posibilidad de instalar tanto la versión de Java de Oracle -es decir la oficial- como OpenJDK, que es desarrollada por la comunidad y que comenzó como una apuesta a futuro cuando no estaba claro cual sería el rol de Java en cuanto a su actitud con el software libre.
La compatibilidad entre ambos es del 99,9 por ciento, pero personalmente creo que para una formación que nos facilite las cosas si queremos trabajar en la empresa es conveniente adaptarnos lo más que podamos a las herramientas oficiales. Por ejemplo, en el caso de Java es más útil aprender a utilizar Netbeans o Eclipse y usar el Java de Oracle. Así pues, lo primero es comprobar si al instalar nuestra distro esta vino con OpenJDK:
java -version
El sistema nos devolverá la información de la versión de Java que tenemos instalada, por ejemplo algo como ‘OpenJDK Runtime Environment’ si es que tenemos la versión de OpenJDK. Si ese fuese el caso, la podemos desinstalar mediante:
sudo apt-get purge openjdk-\*
Ahora tenemos la completa seguridad de haber eliminado todo lo relacionado con la instalación anterior de Java, para comenzar con una limpia. El primer paso es crear las carpetas o directorios en los cuales vamos a instalar la nueva versión, y esto es bien simple:
sudo mkdir -p /usr/local/java
Después tenemos que descargar el SDK de Java prestando especial atención a que sea la que corresponde con nuestro sistema, es decir 32 o 64 bits, ya que por ejemplo Java para 64 bits no funcionará correctamente en sistemas de 32 bits y nos dará errores de todo tipo. La descarga la copiamos a la carpeta que nos creamos en el paso anterior, mediante:
cp jdk-8-linux-x64.tar.gz /usr/local/java
Después nos posicionamos en ese directorio y la descomprimimos:
tar -xvf jdk-8-linux-x64.tar.gz
Con ese comando comienza a descomprimirse la descarga de Java, y quedará dentro de la carpeta que creamos anteriormente, algo como /usr/local/java/jdk8, y dentro de ella todas las subcarpetas que forman parte del archivo comprimido que hemos descargado.
Vamos bien, y ya falta poco pero todavía nos resta un paso importante y es el de lograr que el sistema identifique los comandos de Java para que podamos ejecutarlos sin necesidad de ingresar toda la ruta hacia ellos sino simplemente escribiendo un comando determinado, como java, o javac. Esto, se llama ‘añadir al path’ y es bastante simple de hacer ya que tenemos que modificar los contenidos del archivo /etc/profile. Para ello utilizamos un editor de texto de nuestra preferencia, en mi caso Gedit:
sudo gedit /etc/profile
y añadimos lo siguiente:
JAVA_HOME=/usr/local/java/jdk8
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
Guardamos los cambios, y ahora nos resta añadir esta instalación de Java a la base de datos de nuestro sistema, lo cual hacemos mediante el comando update-alternatives.
Con este comando le informamos al sistema que Oracle Java JRE, JDK y Java Webstart están disponibles:
sudo update-alternatives –install “/usr/bin/java” “java” “/usr/local/java/jdk8/bin/java” 1
sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/local/java/jdk8/bin/javac” 1
sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/local/java/jdk8/bin/javaws” 1
Ahora vamos a establecer a Oracle Java como el runtime predeterminado del sistema:
sudo update-alternatives –set java /usr/local/java/jdk8/bin/java
sudo update-alternatives –set javac /usr/local/java/jdk8/bin/javac
sudo update-alternatives –set javaws /usr/local/java/jdk8/bin/javaws
Eso es todo, hemos finalizado con la instalación, y podemos comprobarlo con sólo ejecutar el comando inicial nuevamente y verificar lo que ahorra nos arroja:
java -version
Tal como veremos, ya estaremos ejecutando el runtime de Oracle Java actualizado a su versión más nueva.