Instalación de Java y Geany para programar en Ubuntu

Junio 2, 2009

Mi intención en la siguiente entrada es poder compartirles lo que para mi fue una búsqueda por varios espacios para poder defínitivamente programar en Java, con la ayuda de Geany. Esto fue gracias a personas que comparten sus conocimientos, espero que también a ustedes les funcione.

Instalación de Java en Ubuntu

Primeramente, buscando por la red, cómo instalar Java en Ubuntu, para programar me encontré con varios tutos, pero este me pareció más simple y entendible, en seguida los pasos que son copy & paste del mismo:

1. Antes que nada, debemos descargar el binario para Linux de JDK. Lo puedes descargar desde aquí, seleccionando la plataforma Linux y en la página posterior haciendo click en el segundo enlace de descarga (el primero es de arquitectura RPM). Una vez descargado, guardamos el archivo .bin en nuestra carpeta personal (/home/nombredeusuario).

2. Abrimos una terminal y nos logueamos como root (usando el comando su). Procedemos a crear el directorio de la instalación:

mkdir /usr/java

3. Le asignamos permisos de propietario a tu usuario (que es el que va a ejecutar JDK posteriormente), con el comando (ojo, cambiar tu_usuario por el de tu sesion en Debian o Ubuntu):

chown -R tu_usuario /usr/java

4. Copiamos el binario que descargamos anteriormente (JDK 6 update 11) al directorio que creamos (/usr/java) y le damos persmisos de ejecución:

cp /home/tu_usuario/jdk-6u11-linux-i586.bin  /usr/java

chmod a+x /usr/java/jdk-6u11-linux-i586.bin

5. Lanzamos la instalación del binario de JDK:

./jdk-6u11-linux-i586.bin

6. Aceptamos la licencia y procedemos con la instalación. Una vez concluída, debemos asignar permisos de propietario para nuestro usuario en la carpeta que se creó durante la instalación:

chown  -R tu_usuario  /usr/java/jdk1.6.0_11

7. Para ejecutar los comandos “java” y javac” desde cualquier ubicación hace falta editar el archivo .bashrc del superusuario (root) y de tu propio usuario. Para ello, debemos editar el archivo correspondiente para cada usuario con las siguientes lineas, mismas que se agregarán al final:

export JAVA_HOME=/usr/java/jdk1.6.0_05
export PATH=$JAVA_HOME/bin:$PATH

Para acceder a editar el archivo del usuario root:

nano /root/.bashrc

Para tu usuario:

nano /home/tu_usuario/.bashrc

8. Al terminar de añadir las líneas a ambos archivos, guardamos los cambio y cerramos la consola. JDK está instalado, con los permisos suficientes y listo para programar en Java.

En los pasos anteriores lo que hice diferente o pasos adicionales fue:

  • Loguearse como root en ubuntu no fué posible ya que hasta donde recuerdo, viene desactivada, así que tuve que activarlo con las siguintes instrucciones que no recuerdo donde tome:
  1. sudo passwd
  2. introducimos la contraseña del actual usuario.
  3. metemos la nueva contrasea del usuario root.
  4. de nuevo metemos la contraseña del usuario root y listo ya podemos loguearnos como root.
  • En el paso 7 en lugar de utilizar nano yo utilize gedit, ya que se me hace más fácil.

Tal como lo menciona Alan,  ya podemos programar. Esto si decidimos utilizar un editor sencillo, como gedit que viene prehinstalado en Ubuntu, para después compilar y ejecutar manualmente desde la consola. Sin embargo como queremos hacerlo con la ayuda de Geany como editor, procedemos a su instalación.

Instalación de Geany

Vamos a instalarlo enseguida desde Aplicaciones->Añadir y quitar… (seleccionando todas las aplicaciones libres o disponibles, aparece) buscamos Geany y los instalamos, una imagen a continuación del editor:

Pantallazo-HelloDate.java - -home-jacym-Programacion-code-piensa-en-java-object - Geany

Ahora el nuevo programa nos aparecerá en una nueva categoría en Aplicaciones->Programación, luego, ya podemos teclear el siguiente código* en el archivo nuevo que aparece por default o desde una plantilla Java en Archivo-> :

//: object/HelloDate.java
 import java.util.*;

/** The first Thinking in Java example program.
 * Displays a string and today's date.
 * @author Bruce Eckel
 * @author www.MindView.net
 * @version 4.0
 */
 public class HelloDate {
 /** Entry point to class & application.
 * @param args array of string arguments
 * @throws exceptions No exceptions thrown
 */
 public static void main(String[] args) {
 System.out.println("Hello, it's: ");
 System.out.println(new Date());
 }
 } /* Output: (55% match)
 Hello, it's:
 Wed Oct 05 14:39:36 MDT 2005
 *///:~

A continuación tenemos que hacer lo siguiente para poder compilar y ejecutar desde el editor.

Intrucciones para hacer funcionar correctamente Geany

Si intentamos compilar y ejecutar desde el editor, nos mandará un mensaje indicando que no encuentra javac o java. Buscando de nuevo por la red me tope con la guía de ubuntu, donde pude darme cuenta que las instrucciones que resuelven este problema son las siguientes:

(He decidido editarlo, para adaptarlo a la instalación que se sigue, para evitar equivocaciones)

1. Setear javac de JDK como una "alternativa" (todo en la misma linea), ya que el sistema no lo reconoce:

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_XX/bin/javac" 1 (XX la vesion del JDK que se descargo)

$  sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk1.6.0_XX/bin/javac" 1 (XX la vesion del JDK que se descargo)

Seteamos el nuevo Java como una de las "alternativas de java":

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0/bin/java" 1

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.6.0_XX/bin/java" 1

aquí las ejecute en orden inverso a como aparece en la guía, por qué primero necesitamos compilar y luego ejecutar, de esta forma se puede comprobar que efectivamente ejecutando ambas ordenes nos permiten ya compilar y ejecutar.

Configuración de la variable de entorno ClASSPATH

Ahora, para programar en ocasiones necesitamos importar paquetes, clases o archivos jar, creadas anteriormente para eso es necesario configurar la variable CLASSPATH, de acuerdo a la información que revise aquí, existen dos formas: la primera que sólo es funcional mientras este prendida la pc y que se hace desde la consola y la segunda que se queda lista de forma permanente, en seguida lo que hice:

En Ubuntu lo solucionamos modificando el archivo /etc/profile, recuerda hacerlo como root.

# vim /etc/profile

(e igual aqui utilize gedit, puede ser cualquier editor). A continuación se agrega la siguiente linea, donde indicamos el directorio donde podra encontrar los arhichos para su uso en nuestros programas.

CLASSPATH=/directorio/

Para establecer mas de un directorio los separamos con dos puntos ":".

CLASSPATH=/directorio1/:/diretorio2/

Hasta aquí todo hiba bien, pero luego tenia problemas al ejecutar; fue luego que mrcomputer en un comentario daba la solución e indica el por qué:

Lo qu haces es añadir el directorio actual para que a la hora de ejecutar una aplicacion busque los .class también en el directorio actual.

, quedando de la siguiente forma, con un directorio:

CLASSPATH =/directorio/:./

pero si quiero un directorio más, ¿cómo?, no encontraba cómo, pero, siendo un poquito observador fue fácil:

CLASSPATH =/directorio1/:./:/directorio2/:./

bueno solo guardamos los cambios y listo ya podemos programar, con la ayuda del editor e importar otras clases indicadas en los directorios en nuestros programas.

Finalmente, espero que ha alguien más le sirva esto que probe para programar en Ubuntu, es una forma de no perderme para después. Por cualquier duda, critica constructiva, o algún error mio, comenten por favor.

Saludos!

JM.

*Código extraido del libro Piensa en Java de Bruce Eckel, 4ta edición.