NetBeans en Linux Mint 20: cuando “empezar a programar” no es tan simple
Actualmente, para desarrollo Java EE, estoy trabajando sin problemas con el siguiente stack:
Eclipse Enterprise
WildFly
PostgreSQL
Hibernate
Maven
Git
Java (un surtido importante de versiones, según el proyecto)
En mi Linux Mint tengo disponibles varias versiones de Java, algo bastante común cuando se trabaja con proyectos viejos y nuevos a la vez:sudo update-alternatives --config java
Salida:
Existen 3 opciones para la alternativa java (que provee /usr/bin/java).
Selección Ruta Prioridad Estado
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 modo automático
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 modo manual
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 modo manual
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo manual
Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: Todo funcionando correctamente sobre Linux Mint 20 (Ubuntu 20.04 base).
Hasta acá, ningún drama.
El objetivo: revivir un proyecto viejo
Quise revivir un proyecto web antiguo llamado Espotify Web, que estaba corriendo en una máquina virtual con Windows 7, usando:
NetBeans
Tomcat
MySQL
Java EE “clásico”
Para eso decidí instalar NetBeans en mi Linux Mint 20 y probar el proyecto localmente.
Algo que, en teoría, debería haber sido rápido y sencillo.
Spoiler: no lo fue.
Problema 1: ni siquiera un Hello World funcionaba
Después de instalar NetBeans desde los repositorios de Mint, al intentar crear un proyecto Java simple y ejecutar un HelloWorld, aparecían errores como:
cannot access java.lang
Fatal Error: Unable to find package java.langO incluso:
Class does not have a main method
Uncompilable source codeLa causa
NetBeans no tenía correctamente configurado el JDK como Java Platform, o estaba apuntando a un runtime incorrecto.
Incluso indicando el path correcto de Java, simplemente no funcionaba, algo que sinceramente no podía creer.
Además, el cache del IDE parecía estar en un estado inconsistente, lo que terminaba de romper cualquier intento de ejecución.
Sin más vueltas, la solución fue:
Eliminar NetBeans instalado desde los repos
Borrar completamente cache y configuración:
rm -rf ~/.netbeans
rm -rf ~/.cache/netbeansReinstalar NetBeans limpio
Después de eso, Java volvió a funcionar correctamente y el HelloWorld finalmente compiló y ejecutó.
Bien ahí… primer obstáculo superado. !!
Problema 2: NetBeans “funciona”… pero no tiene Maven
Con Java funcionando, el siguiente paso fue probar algo más real:
el tutorial oficial de Oracle sobre JAX-RS con REST.
File → New Project
solo aparecían estas categorías:
Java
NetBeans Modules
Samples / Java
❌ No había Maven
❌ No había proyectos Web
❌ No había JAX-RS
En ese punto ya empezaba a mirar el reloj: el tiempo invertido era mucho mayor al que había estimado para hacer un tutorial simple, solo para repasar conceptos.
Pero bueno… ya que estamos en el baile, vamos a bailar 💃
Decidí investigar por qué NetBeans no tenía Maven.
El verdadero problema: NetBeans de los repos de Mint
El NetBeans que viene en los repositorios de Linux Mint / Ubuntu:
Es muy viejo
Viene recortado
NO incluye soporte Maven
No sirve para Java EE / Jakarta EE moderno
Por eso:
No pude seguir el tutorial de Oracle en Netbeans
No se pueden importar proyectos Maven
Entonces
Comentarles mi suerte con NetBeans en Linux Mint 20.
¿Este incidente amerita actualizar el sistema operativo?
Probablemente no… pero sí obliga a replantear la herramienta.
Tal vez, cuando tenga más tiempo y voluntad de importar el proyecto, pruebe descargando un NetBeans más nuevo y oficial, compatible con Mint 20, para intentar importar Espotify Web, un proyecto de mis épocas de facultad.
Y lo que ya sabemos todos !
Programar no es lo más difícil, a veces…
sino tener lista la herramienta para empezar a programar.
¿Y a vos te anduvo?
¿Tuviste los mismos problemas te funcionó sin vueltas?
Si querés compartir tu experiencia, dudas o simplemente comentar cómo lo resolviste, escribime a: valerkasystem@protonmail.com
— Valerka
Montevideo, Uruguay