Instalando NetBeans en Fedora 25

Estándar

Si ha instalado Fedora 25 y a tratado de instalar NetBeans para todo el sistema, esto es ejecutando el instalador como root es muy posible que le apareciera el siguiente error

Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
No protocol specified

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"

 

Esto se debe a que Fedora 25 ya usa por defecto el protocolo Wayland para manejar los gráficos el cual agrega mecanismos de seguridad que meten ruido a la hora de intentar correr el instalador de NetBeans como root.

Por fortuna existe una solución sencilla para resolver dicho problema, abra un terminal e ingrese el comando:

xhost +

Lo que le dara un resultado como en la ilustración, este comando habilita a todos los usuarios para acceder al servidor gráfico, no lo mas seguro del mundo pero solo sera temporalmente.

captura-de-pantalla-de-2017-01-07-22-28-26

Resultado del comando xhost +

Hecho esto puede cambiar al usuario root y ejecutar el instalador de NetBeans como normalmente lo haria.

captura-de-pantalla-de-2017-01-07-22-35-32

Instalador funcionando correctamente

Ya que el instalador termine finalice sessión como root y use el comando:

xhost -

Con esto regresara los limites de acceso al servidor gráfico, de nuevo esto es mas que nada por cuestiones de seguridad.

Finalmente cree el archivo netbeans.desktop en /usr/share/applications con el siguiente contenido, de modo que aparessca junto a las demas aplicaciones.

[Desktop Entry]
Encoding=UTF-8
Name=NetBeans IDE 8.2
Comment=The Smarter Way to Code
Exec=/bin/sh "/usr/local/netbeans-8.2/bin/netbeans"
Icon=/usr/local/netbeans-8.2/nb/netbeans.png
Categories=Application;Development;Java;IDE
Version=1.0
Type=Application

Hecho esto ya podra ejecutar NetBeans como es usual.

captura-de-pantalla-de-2017-01-07-22-55-13

NetBeans Instalado

Espero que esta información halla sido útil y nos vemos en la próxima entrada

Referencias:

Install Netbeans on Fedora 25 — https://that.guru/blog/install-netbeans-on-fedora-25/

Crear un archivo JAR que incluya las librerias desde NetBeans

Estándar

De las formas de poner en producción un proyecto hecho en Java una de mis formas favoritas es generar un solo archivo JAR que contenga todo lo necesario para que el programa funcione, de modo que al momento de poner en producción solo necesite copiar un solo archivo y tal vez su configuración sin preocuparse de olvidar algún archivo JAR o de configuración interna.

Sin embargo, por defecto NetBeans no proporciona dicha opción o esta bastante escondida, por fortuna es posible agregarla gracias al uso de la utilidad ANT.

ANT

A Neat Tool, mejor conocido como ANT es una herramienta para manejar proyectos de desarrollo de Java, si es familiar con la herramienta make de los sistemas UNIX o Linux puede pensar en ANT como una versión modernizada de dicha herramienta y asi como make permite especificar varios objectivos los cuales determinan como compilar el proyecto o como prepararlo para producción, todo esto se especifica desde el archivo build.xml, el cual se crea automáticamente en todos los proyectos de NetBeans y el cual podemos modificar.

Modificando el archivo build.xml

Figura 1 - Proyecto

Figura 1 – Proyecto

Como puede ver en la figura, el archivo build.xml no aparece en la vista de proyecto por lo que debe de abrir la vista de archivos, ahí vera el archivo, dele doble clic para abrirlo.

Figura 2 - Build.xml

Figura 2 – Build.xml

Notara que por defecto todo esta comentado, al final de eso agregue el siguiente código:


<target name="package-for-store" depends="jar">

        <!-- Change the value of this property to be the
name of your JAR, minus the .jar extension. It should not 
have spaces.
             <property name="store.jar.name" value="MyJarName"/>
        -->

        <property name="store.jar.name" value="MyJarName"/>

        <!-- don't edit below this line -->

        <property name="store.dir" value="store"/>
        <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

        <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>

        <delete dir="${store.dir}"/>
        <mkdir dir="${store.dir}"/>

        <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
            <zipgroupfileset dir="dist" includes="*.jar"/>
            <zipgroupfileset dir="dist/lib" includes="*.jar"/>

            <manifest>
                <attribute name="Main-Class" value="${main.class}"/>
            </manifest>
        </jar>

        <zip destfile="${store.jar}">
            <zipfileset src="${store.dir}/temp_final.jar"
            excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
        </zip>

        <delete file="${store.dir}/temp_final.jar"/>

    </target>

Este target “package-for-store” hace el truco, al ejecutarlo compila el proyecto y lo empaqueta en un archivo jar, el nombre de este archivo lo puede configurar modificando el valor de la propiedad “store.jar.name” que aparece marcada en rojo en el codigo.

Ejecutando el target package-for-store

Una vez que halla hecho los cambios en el archivo build.xml necesita correr el target “package-for-store”, hay dos formas de hacer eso

Primero puede hacer clic derecho sobre el archivo build.xml, seleccionar “Run Target->Other Targets->package-for-store” y Como puede ver en la imagen

Figura 3 - Target

Figura 3 – Target

La otra opcion es con el boton “Rerun with diferent paramateres”, el que aparece como dos flechas hacia la derecha de color verde claro a la izquierda de la consola, como muestra la figura puede seleccionar correr el target “package-for-store”

Figura 4 - Rerun

Figura 4 – Rerun

Hay un detalle muy importante con el ultimo método, solo le mostrara las opciones de ANT *después* de realizar una compilación, mi recomendación es limpiar y reconstruir el proyecto (hay un botón para eso en la barra de herramientas) y luego correr el target, de ese modo tendra la version mas actualizada de su proyecto y le aparcera el target “package-for-store”

Una vez que halla ejecutado el target “package-for-store” notara que una carpeta “Store” se a creado en su proyecto

Figura 5 - Store

Figura 5 – Store

Es en esta carpeta donde localizara el archivo Jar este ya contiene internamente las librerías que su programa necesita de modo que puede distribuirlo con solo copiar este archivo

Espero que la entrada fuera de utilidad y nos vemos en la proxima.

Referencias:
http://www.oracle.com/technetwork/articles/javase/single-jar-141905.html

Agregando Librerias a un proyecto en NetBeans

Estándar

hash_librerias

Al momento de crear un proyecto en NetBeans usualmente se encontrara en la necesidad de agregar librerias/archivos .jar al proyecto para tener acceso a clases y funciones, agregar estos archivos es bastante sencillo y se muestra a continuación.

Para esto usaremos el ejemplo de iText de la entrada iText, Generación de archivo Pdf en Java, solo descargue el archivo .jar necesario.

Cree un nuevo proyecto en NetBeans, vaya a la carpeta del proyecto y cree una carpeta lib donde pondrá el archivo .jar, hecho esto de click derecho en “Librerías” y seleccione “Agregar Librería” lo que le mostrara un dialogo como la Figura 1.

Figura 1 - Proyecto

Figura 1 – Proyecto

En ese dialogo selecione “Crear” y en el dialogo pongale un nombre a la librería como se ve en la figura 2

Figura 2 - Creando Libreria

Figura 2 – Creando Libreria

Esto le mostrar el dialogo para editar librería, ahí de click en “Agregar JAR/Directorio” y seleccione el archivo .jar

Figura 3 - Agregando .JAR

Figura 3 – Agregando .JAR

Como ve en Figura 3 la ruta absoluta al archivo jar se agrego, presione OK y vera que ahora hay una librería libiText, o el nombre que le halla puesto, presione agregar al proyecto y vera que ahora esta en las librerias de su proyecto Figura 4 y apartir de este punto las clases de esa libreria estaran disponibles al proyecto con todas las funciones esperadas.

Figura 4 - Libreria agregada

Figura 4 – Libreria agregada

Un detalle que debe recordar con este método es que la ruta de los archivos .jar es *absoluta* si mueve la carpeta del proyecto o la carpeta donde estan los archivos .jar debería editar esa librería y ajustar las rutas de los archivos.

Instalando NetBeans en Fedora 21 o superior

Estándar
NetBeans

NetBeans

Junto con Eclipse el otro entorno de integrado de desarrollo mas popular para Java es el NetBeans este tiene un par de ventajas con respecto a Eclipse, como el comportarse como un entorno de desarrollo mas “usual”, no usar librerías extrañas y ya incluir de “fabrica” el editor de interfaces gráficas, además de usar el manejador de proyectos ANT.

Sin embargo, y no entiendo bien por que, NetBeans no se encuentra en el repositorio oficial de Fedora o en RPMfusion lo que puede hacer la instalación menos intuitiva de lo normal, pero no imposible.

Descargando.

Sobra decirlo, pero no esta de mas, antes de instalar NetBeans en Fedora necesita tener instalado el kit de desarollo de java, este se instala via el paquete openjdk, instalelo via yum antes de proceder.

Para comenzar vaya a la pagina oficial de netbeans https://netbeans.org/ y descargue la versión que corresponda a su sistema, en esta caso Linux (x86/x64)

Descargas de NetBeans

Descargas de NetBeans

Como podrá ver existen varias configuraciones disponibles dependiendo del tipo de desarrollo que planee hacer, si el espacio no es un problema recomiendo descargar la versión completa, podría serle de uso después.

Instalando

Abra un terminal y acceda como root (esto para instalar en todo el sistema), vaya a la carpeta donde estan los archivos y ejecute ./installer.sh lo que iniciara el dialogo de instalación como se ve en la figura

Instalador de NetBeans

Instalador de NetBeans

Lo que instalara NetBeans en /usr/local/netbans-8.0.2

Ruta de Instalación

Ruta de Instalación

ACTUALIZACIÓN (13 de Mayo 2016)
En Fedora 23 la dirección del JDK (lo que se pregunta en el segundo campo de texto en la figura anterior) se cambió de lugar, la ruta por defecto ya no es la correcta, la correcta (al momento de escribir esta entrada) es /usr/lib/jvm/java-1.8.0, aunque se recomienda que use el boton Browse para localizar la ubicación correcta.

Para acceder a NetBeans basta con que escriba netbeans desde GNOME shell, lo que le mostrara su icono y le permitira agregarla a los favoritos.

NetBeans en GNOME 3

NetBeans en GNOME 3

NetBeans Instalado

NetBeans Instalado

Espero que esta entrada fuera de utilidad y nos vemos en la proxima.