En una PC con Windows instalé NetBeans 6.5 y desarrollé una aplicación GUI muy sencilla en java.
Después intenté ejecutar esta aplicación en una PC con Debian Etch escribiendo desde consola:
java -jar nombre_aplicacion.jar
y aparecia el siguiente error:
Exception in thread “main” java.lang.NoClassDefFoundError: javax/swing/GroupLayo
ut$Group
Este error se debe a que está instalada la versión 5.0 del JRE (Java Runtime Environment) de Sun que viene en el paquete sun-java5-jre de Debian Etch y NetBeans 6.5 utiliza una versión más nueva.
La version 6 del JRE viene en el paquete sun-java6-jre que se encuentra en el repositorio de backports para Debian Etch http://packages.debian.org/etch-backports/sun-java6-jre
En mi post sobre instalar firebird 2.0 en Debian Etch explico como agregar este repositorio.
Ya que tenemos agregado el repositorio a nuestro archivo de fuentes (/etc/apt/sources.list) y hecho el respectivo apt-get update procedemos a desinstalar la versión 5.o del JRE
Para ver que paquetes de java tenemos instalados ejecutamos
dpkg -l |grep sun-java
En mi caso aparecen los siguientes paquetes
ii sun-java5-bin 1.5.0-14-1etch1 Sun Java(TM) Runtime Environment (JRE) 5.0 (
ii sun-java5-demo 1.5.0-14-1etch1 Sun Java(TM) Development Kit (JDK) 5.0 demos
ii sun-java5-jdk 1.5.0-14-1etch1 Sun Java(TM) Development Kit (JDK) 5.0
ii sun-java5-jre 1.5.0-14-1etch1 Sun Java(TM) Runtime Environment (JRE) 5.0 (
Esto es porque además del JRE también tengo instalado el kit para desarolladores JDK (Java Development Kit).
Para eliminar los paquetes ejecutamos
sudo apt-get –purge remove sun-java5-bin sun-java5-demo sun-java5-jdk sun-java5-jre
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias… Hecho
Los siguientes paquetes se ELIMINARÁN:
sun-java5-bin* sun-java5-demo* sun-java5-jdk* sun-java5-jre*
0 actualizados, 0 se instalarán, 4 para eliminar y 38 no actualizados.
Necesito descargar 0B de archivos.
Se liberarán 114MB después de desempaquetar.
¿Desea continuar [S/n]?
Decimos que si y la desinstalación termina
La instalación de java en Debian normalmente crea algunos enlaces simbólicos, para ver si existen enlaces simbólicos para java ejecutamos
sudo update-alternatives –display java
En mi caso muestra
No hay alternativas para java.
Pero si se hubieran encontrado enlaces simbólicos habría que eliminarlos ejecutando
sudo update-alternatives –remove-all java
Después ejecutamos
sudo update-alternatives –display javac
En mi caso muestra
javac – el estado es manual.
el enlace apunta actualmente a /usr/lib/jvm/java-1.5.0-sun/bin/javac
No hay ninguna versión disponible.
Como en el caso anterior, para eliminar todos los enlaces simbólicos ejectuamos
sudo update-alternatives –remove-all javac
Nota: Los siguientes enlaces son útiles para conocer más sobre la administración de paquetes en Debian (instalación, desinstalación, saber el estatus de un paquete, etc.)
http://www.debian.org/doc/manuals/apt-howto/ch-search.es.html
http://www.debian.org/doc/manuals/quick-reference/ch-package.es.html
Ahora si procedemos a instalar el JRE 6 de Sun para lo cual ejecutamos
sudo apt-get install sun-java6-jre
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias… Hecho
Se instalarán los siguientes paquetes extras:
sun-java6-bin
Paquetes sugeridos:
binfmt-support sun-java6-plugin ia32-sun-java6-plugin sun-java6-fonts ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic
ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming
Paquetes recomendados
libnss-mdns gsfonts-x11
Se instalarán los siguientes paquetes NUEVOS:
sun-java6-bin sun-java6-jre
0 actualizados, 2 se instalarán, 0 para eliminar y 38 no actualizados.
Necesito descargar 33.6MB de archivos.
Se utilizarán 96.4MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]?
Decimos que si y aparece la siguiente pantalla

Seleccionamos aceptar y ahora aparece la siguiente pantalla

Después de aceptar los términos de la licencia la instalación termina
Seleccionando el paquete sun-java6-bin previamente no seleccionado.
Desempaquetando sun-java6-bin (de …/sun-java6-bin_6-07-3~bpo40+1_i386.deb) …
sun-dlj-v1-1 license has already been accepted
Configurando sun-java6-bin (6-07-3~bpo40+1) …
Configurando sun-java6-jre (6-07-3~bpo40+1) …
Si ejecutamos
dpkg -l |grep sun-java
Ahora nos muestra
ii sun-java6-bin 6-07-3~bpo40+1 Sun Java(TM) Runtime Environment (JRE) 6 (ar
ii sun-java6-jre 6-07-3~bpo40+1 Sun Java(TM) Runtime Environment (JRE) 6 (ar
Ahora ya podemos ejecutar nuestra aplicacion java que contiene una interfaz gráfica de usuario (GUI) sin problemas.
Etiquetas: aplicacion java gui en windows sobre debian etch, desinstalar jre 5 Debian Etch, error NetBeans 6.5 en Debian Etch, instalar jre 6 en Debian Etch, java debian etch