miércoles, 19 de septiembre de 2012

Como instalar cualquier JDK en Linux


Armando nuestro entorno de programación en Linux


Hola a todos nuevamente, esta vez van a ser una serie de post cortos, donde vamos a lanzar algunos tips, para que nuestro entorno de trabajo esté funcionando a la perfección. Ya se que generalmente los usuarios de Linux, suelen estar más duchos para este tipos de cosas ( no es nada contra el resto, es solo una pequeña observación :D) pero nunca esta demas una pequeña ayudita ;)

Ahora varios diran, para que este post, si simplemente con buscar en cualquier sistema de gestión de paquetes prácticamente de cualquier distribución Linux, donde tengamos los repositorios correctos configurados, podemos instalar alguna version de  OpenJDK. El tema esta en al menos dos razones, la primera podría ser por ejemplo, quieren instalar una versión de JDK , porque por X motivo, tenemos un proyecto que es incompatible con la OpenJDK. O necesitemos alguna versión en particular de JDK. O supongamos que queramos instalar la JDK 7, que nos da Oracle, y tenemos una distro derivada de Debian (como Ubuntu). Y como pueden ver, en la web:
http://www.oracle.com/technetwork/java/javase/downloads/index.html hasta el momento de este post no ahi ningun paquete .deb para automatizarnos el tema.
Así que vamos a tener que hacer la cosa de manera manual :P , este post en resumen es para que nadie tenga problemas con esto, es extremadamente sencillo, y también para que en su sistema puedan optar entre usar la OpenJDK o la JDK que necesiten ;) ahora comenzemos con esto:

Bueno lo primero que deberemos hacer es ir a la web de oracle, y en la parte de descargas, vamos a buscar donde se encuentren las diferentes versiones de JDK:

http://www.oracle.com/technetwork/java/javase/downloads/index.htmlAhora lo que debemos hacer, es elegir la versión de JDK que necesitemos instalar y para que arquitectura la queremos, 32 o 64 bits, que esté comprimida, en este caso están en .tar.gz
Ahora como super usuario descomprimimos el archivo y lo pegamos en la carpeta /usr/java desde la terminal seria algo asi como :

[ jackgris]# tar zxvf jdk-7-linux-x64.tar.gz --directory /usr/java
Si no llega a existir ese directorio lo podemos crear tranquilamente con el comando mkdir.
Una vez que hayamos realizado esto, ya podriamos usarlo, pero para que nos sea cómodo, vamos a agregar unos accesos directo  a los comandos java y javac de la siguiente manera.

[ jackgris]# update-alternatives --install "/usr/bin/javac" "javac""/usr/java/jdk1.7.0/bin/javac" 50
[ jackgris]# update-alternatives --install "/usr/bin/java" "java""/usr/java/jdk1.7.0/bin/java" 50



Dependiendo de la distro que usemos, podría ser suficiente solo con “alternatives”, ahora se preguntaran que es lo bueno de instalarlo de esta manera, si ya eh instalado un monton de veces la JDK :D
Pues es este comando:

 [ jackgris]# update-alternatives --config java

There are 4 programs which provide `java'.

 Selection    Command
-----------------------------------------------
     1        /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
+    2        /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
     3        /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*     4        /usr/java/jdk1.6.0_34/bin/java

Enter to keep the default[*], or type selection number:


Como pueden ver, tengo varias version instaladas, así que de esta manera podremos intercambiar entre las versiones que necesitemos usar. Ahora lo único que nos faltaria es editar nuestro JAVA_HOME, simplemente hay que agregar esta linea al final del el archivo /home/nuestro-usuario/.bash_profile tambien podria ser en /home/nuestro-usuario/.bashc , el archivo donde lo agreguemos va a depender de a quienes queremos que afecte :D

export JAVA_HOME="/usr/java/jdk1.7.0"

Simplemente para ver si todo quedo correctamente configurado, necesitamos ejecutar el comando java --version y debería darnos como resultado, la versión que tenemos configurada ;)

Esto fue todo por ahora, espero que les alla gustado, no ahi mucho mas que acotar, y si alguno quieran dar alguna otra recomendación, pues bienvenida sea, ya que no soy ningún experto de Linux, sino que un simple usuario más, que tiene muchísimo por aprender.


Saludos a todos, Gabriel E. Pozo