Mostrando entradas con la etiqueta Net Beans. Mostrar todas las entradas
Mostrando entradas con la etiqueta Net Beans. Mostrar todas las entradas

lunes, 27 de junio de 2011

Excluir librerías del jar con NetBeans

Este post sirve de continuación al que escribí hace casi un año, explicando cómo incluir las librerías de nuestro proyecto en el jar generado por NetBeans. En este caso, y por petición del amigo Anómino a través de los comentarios, vamos a ver cómo excluir librerías.

La clave para hacer lo que queremos está en la etiqueta zipgroupfileset del build.xml. Con este elemento le indicamos al entorno qué queremos añadir al jar que generamos. En aquél caso indicábamos que queríamos meter todos los jar de la carpeta dist/lib.


Ahora se nos presentan dos opciones para quitar elementos. El primero es indicar explícitamente qué librerías no nos interesan en el mismo zipgroupfileset utilizando su atributo excludes.


En este caso, como puede verse, le estamos indicando que no incluya la librería beansbinding.

Si necesitamos dejar fuera más de una, podemos añadirlas separándolas por un espacio.



Como segunda alternativa, en lugar de pedir que se incluyan todas, y luego añadir excepciones, podemos meter un elemento para cada una de las librerías que queramos tener en el jar de la aplicación, de la siguiente forma.


O, igual que antes, podemos tener un único elemento con todas las librerías a incluir separadas por espacios.



En conclusión, que para determinar exactamente qué librerías queremos en el jar de nuestra aplicación no tenemos más que jugar con los atributos includes excludes, y podremos conseguir lo que nos interese.

martes, 31 de mayo de 2011

Java FX 2 - Error de instalación del plugin para Net Beans 7.0

El pasado 24 de mayo salió la versión beta del nuevo Java FX 2. Tras mucho tiempo esperando este último intento de convertir Java FX en una tecnología con repercusión, andaba ansioso por empezar a cacharrear, y plantearme algún proyectito para ver qué nos podía ofrecer.

Pero nada más empezar, ya me estaba dando cabezazos. Resulta que tenemos disponible un plugin para la versión 7.0 de Net Beans. Me lo descargo, lo instalo, reinicio el IDE como me piden, y... casquiporre.

Warning - could not install some modules

Y una larga retahíla de librerías o similares.

Como en las instrucciones de instalación no se especifica nada sobre errores, y en principio las había seeguido tal cuál, incluyendo la instalación previa del runtime, empecé a probar siguiendo mi instinto. Reinstalación de Net Beans, rebajada del plugin, reinicio del pc, tonterías varias... nada de nada.

Hasta que en el foro de Oracle encontré la solución gracias a la ayuda de 862201. La historia es que antes de instalar el plugin en sí, hay que instalar todas las actualizaciones disponibles. Esto lo hacemos accediendo a Tools - Plugins, y seleccionando todos los elementos de la pestaña Updates.

Ahora sí, ¡a juguetear!

jueves, 22 de julio de 2010

Tutorial de OpenESB

En estos días, cumpliendo mi amenaza final de este post, he publicado en DebugModeOn una serie de artículos que conforman un tutorial de introducción a OpenESB. En él se muestra paso a paso cómo desarrollar un ejemplo simple en el que se genera un proceso que realiza invocaciones a distintas tecnologías como Bases de Datos Oracle, Servicios Web, el sistema de ficheros, etc.

Para mayor comodidad publico aquí también la versión completa en un único documento.


Por cierto, en la barra lateral del blog podéis encontrar un enlace a mi perfil de DebugModeOn.

miércoles, 14 de julio de 2010

Incluir librerías en el jar con NetBeans

Cuando desarrollamos una aplicación de escritorio con NetBeans, de forma automática se genera una carpeta dist dentro del proyecto. En ella se crean el jar de la aplicación, y otra carpeta lib, que contiene las librerías que se utilizan en nuestro programa.

Para trabajar en desarrollo esta situación no presenta inconvenientes. Sin embargo, cuando queremos distribuir el jar de nuestra aplicación, nos encontramos que tenemos que distribuir también la carpeta con las librerías, cuando lo más cómodo sería trabajar con un único fichero.

La forma en que NetBeans crea la distribución de nuestro proyecto viene especificada en el fichero build.xml, que podemos encontrar en el directorio raíz del mismo. Éste, si no lo hemos tocado, no tiene más que un montón de comentarios, y una descripción que no aporta demasiado.


Si queréis editar el fichero directamente desde el IDE, podéis hacerlo accediendo a la pestaña Files, en la que se puede ver la carpeta del proyecto completa.

Para crear un único jar con todas las librerías del proyecto, añadiremos un elemento target al fichero, denominado package-for-store. En él indicaremos el nombre del jar que vamos a generar, el directorio dentro de nuestro proyecto en el que queremos que se cree, y el contenido del fichero: el jar generado por netbeans, y todos los jar de la carpeta lib.

El resultado sería algo así.



La forma de trabajo seguirá siendo la misma, pero cuando tengamos completo el desarrollo, y necesitemos crear nuestro jar con todo el contenido para poder llevárnoslo a donde queramos, no tenemos más que ir a la pestaña Files, hacer clic derecho sobre el build.xml, y seleccionar Run Target - Other Targets - package-for-store (el nombre del target que hemos añadido al build).

En el directorio que hayamos indicado tendremos el jar con todo el contenido.

miércoles, 19 de mayo de 2010

Net Beans no actualiza los ficheros de propiedades trabajando con Swing Application Framework

Hoy me he encontrado un pequeño problema al trabajar con Net Beans 6.8 realizando una aplicación de escritorio con Swing Application Framework. Un error que no es grave, pero que puede producir grandes niveles de frustración si no se da con la tecla.

Normalmente, trabajando con este entorno, tenemos nuestros paneles Swing enlazados con ficheros de propiedades en los que se definen los textos para nuestros componentes. Net Beans se encarga de ir actualizando los ficheros de propiedades, haciendo muy cómodo el trabajo.

Hasta ahí todo bien, pero, ¿qué pasa si renombramos un panel con la opción rename del IDE? En principio todo parece correcto: se cambia el nombre de la clase, se actualizan todas las referencias, el proyecto sigue compilando... Si seguimos trabajando con nuestro panel todo parecerá ser correcto. Podemos agregar nuevos controles o modificar sus textos y el editor se actualiza, pero... al ejecutar salta la sorpresa. Los nuevos controles no tienen texto, los modificados no se han actualizado... ¿qué he hecho para merecer esto?

Si nos vamos al fichero de propiedades, veremos que, efectivamente, los últimos cambios en el editor gráfico no se han visto reflejados. Lógicamente podemos modificar los que queremos directamente en este fichero, pero, por algún extraño motivo, la sincronización desde el editor gráfico hacia el .properties se ha perdido. ¿¿Por qué?? Pues la verdad es que no lo sé. He revisado todo lo que se me ha ocurrido sin encontrar una respuesta, pero sí una solución. Basta con cerrar el panel que hemos renombrado y volver a abrirlo para que todo vuelva a funcionar como siempre.

Este fallo tiene dos grandes problemas. Uno es que cuando caes en la cuenta de que los ficheros de propiedades no se están actualizando, lo más probable es que no seas capaz de encontrar la causa, ya que puede que haga mucho tiempo que renombraste el panel, y te pases un buen rato revisando tu código sin suerte. El otro es que luego hay que tener la ocurrencia de recurrir al "reset" (cerrar y abrir la clase) para que todo vuelva a la normalidad.

Un pequeño error más que anotarle a este IDE trabajando con SAF.