Mostrando entradas con la etiqueta Netbeans. Mostrar todas las entradas
Mostrando entradas con la etiqueta Netbeans. Mostrar todas las entradas

martes, 2 de abril de 2024

Guia rapida de ANT para proyectos en Netbeans

 En esta entrada te dejaré las claves para que te manejes en el uso de ANT.

Apache Ant es una biblioteca Java y una herramienta de línea de comandos cuya misión es ejecutar los procesos descritos en archivos xml como target y task que dependen unos de otros. El principal uso conocido de Ant es la creación de aplicaciones Java. Ant proporciona una serie de tareas integradas que permiten compilar, ensamblar, probar y ejecutar aplicaciones Java. Ant también se puede utilizar de forma eficaz para crear aplicaciones que no sean Java, por ejemplo aplicaciones C o C++. De manera más general, Ant se puede utilizar para automatizar cualquier tipo de proceso que pueda describirse en términos de targets y tasks.

Ant está escrito en Java. Los usuarios de Ant pueden desarrollar sus propios "antlibs" que contienen tareas y tipos de Ant, y se les ofrece una gran cantidad de "antlibs" comerciales o de código abierto ya preparados.

Ant es extremadamente flexible y no impone convenciones de codificación ni diseños de directorios a los proyectos Java que lo adoptan como herramienta de compilación.
El proyecto Apache Ant es parte de Apache Software Foundation.


El archivo de tareas build.xml y build-impl.xml

Es un archivo xml donde se describen todas las tareas que quieres que ANT ejecute, tareas como compilar, crear archivos y directorios, copiar archivos, incluso ejecutar otros jars.

Este archivo XML debe cumplir con el DTD de ANT, aquí puedes encontrar la lista de cada una de las tareas predefinidas

https://ant.apache.org/manual/Tasks/

Si has creado tu proyecto con Netbeans en el directorio de tu proyecto vas a tener el archivo build.xml, si editas este archivo te vas a dar cuenta que el archivo está casi vacío pero hay una linea clave

<import file="nbproject/build-impl.xml"/>

Si entras al directorio nbproject vas a encontrar el archivo build-impl.xml, es un archivo de procesos para ANT, gracias a este archivo tu puedes hacer un clean and build y generar tu jar. No vamos a entrar en detalles, este archivo es muy complejo y extenso.

Para no tener que editar el archivo build-impl.xml Netbeans pone a tu disposición una lista de targets los cuales están vacíos y puedes usarlos para ejecutar tus tareas. A continuación te presento la lista disponible.


      -pre-init:                 called before initialization of project properties
      -post-init:                called after initialization of project properties
      -pre-compile:              called before javac compilation
      -post-compile:             called after javac compilation
      -pre-compile-single:       called before javac compilation of single file
      -post-compile-single:      called after javac compilation of single file
      -pre-compile-test:         called before javac compilation of JUnit tests
      -post-compile-test:        called after javac compilation of JUnit tests
      -pre-compile-test-single:  called before javac compilation of single JUnit test
      -post-compile-test-single: called after javac compilation of single JUunit test
      -pre-jar:                  called before JAR building
      -post-jar:                 called after JAR building
      -post-clean:               called after cleaning build products

Estos targets se ejecutan antes y después de los targets principales. Por ejemplo, existe un target llamado init, Netbeans te proporciona -pre-init y -pos-init y así para el resto de Targets.

Properties en ANT

Las propiedades son pares clave-valor donde Apache Ant intenta evaluar ${key} al valor en tiempo de ejecución.

Hay muchas tareas (task) que pueden establecer propiedades; la más común es la tarea property. Además, las propiedades se pueden definir mediante argumentos de línea de comando o mecanismos similares desde fuera de Ant.

Normalmente, los valores de las propiedades no se pueden cambiar: una vez que se establece una propiedad, la mayoría de las tareas no permitirán que se modifique su valor. En general, las propiedades son de alcance global, es decir, una vez que se han definido, están disponibles para cualquier tarea (task)  u objetivo (target) invocado posteriormente; no es posible establecer una propiedad en un proceso de construcción hijo creado mediante las tareas ant, antcall o subant y make. Sin embargo, está disponible para el proceso de compilación de llamadas.

Desde Ant 1.8.0, la tarea local se puede utilizar para crear propiedades con alcance local para un objetivo o un elemento secuencial como el de la tarea macrodef.

A continuación un ejemplo del uso de la tarea property

Definimos una propiedad con el nombre yguard.version y le asignamos el valor 4.1.0, definimos una propiedad lib.dir y le asignamos el resultado de la concatenación del valor de la propiedad ${basedir}/lib

Usamos la tarea echo para imprimir el valor de la propiedad basedir 




domingo, 19 de septiembre de 2021

6 Herramientas para mejorar la productividad del desarrollador Java

Los desarrolladores de Java tienen perspectivas laborales muy altas en la industria del desarrollo de software. Con razón, Java impulsa muchas de las aplicaciones y servidores de escritorio, web y móviles del mundo. La mayoría de las empresas que reclutan desarrolladores de Java pertenecen a las industrias más maduras, como la atención médica y el Retail.

En consecuencia, es importante que los desarrolladores de Java sean eficaces y eficientes en sus trabajos.

A continuación se muestran seis de las herramientas más útiles que los desarrolladores de Java deberían considerar usar.

Netbeans

Son pocos los desarrolladores de Java que no conocen Netbeans. Es un entorno de desarrollo integrado (IDE) de código abierto en varios idiomas.

Lejos de ser un simple editor de texto, proporciona algunas características interesantes que ayudan a los desarrolladores a ser productivos.

Las características clave incluyen su resaltado de sintaxis que facilita la refactorización del código, ya que no solo le brinda información de sintaxis sino también de semántica. También proporciona excelentes plantillas y asistentes para una amplia gama de lenguajes de programación.

También es una plataforma de aprendizaje: tiene un tutorial completo de Java (y también PHP). Otra cosa que se destaca de Netbeans es que facilita a los desarrolladores la gestión de sus proyectos mediante el uso de favoritos y el control de versiones. También se sincroniza bien con Github.

La comunidad crea continuamente una gran cantidad de herramientas poderosas para hacer que el uso de Netbeans sea más placentero.

¿Cuál es tu nivel de conocimiento en NetBeans?, ¿Básico, medio o experto?. 

Rookout

Como desarrollador de Java, al igual que con todos los desarrolladores, encontrar y solucionar errores son dos de las actividades que requieren más tiempo. Estos no solo consumen mucho tiempo, sino que causan mucha angustia innecesaria cada vez que parece que un error da origen a otros errores en el futuro.

El problema se agrava cuando el error se experimenta en producción y el equipo de operaciones querría que corrigiera los errores en el código de producción.

Si bien es importante contar con una buena estrategia de depuración, es aún más esencial contar con las herramientas adecuadas para ayudarlo a hacerlo. Después de todo, nuestros ojos humanos están limitados en lo que pueden sentir.

Aquí es donde una herramienta de depuración como Rookout puede ayudar. Te permite depurar en cualquier entorno. El equipo de operaciones quiere que vayas y averigües qué está mal con el código enviado a producción. Puede realizar una depuración remota en vivo allí. También puede implementar la depuración de producción, lo que permite una experiencia perfecta.

También mejora la colaboración al proporcionar excelentes datos e información sobre los errores encontrados y también comparte métricas comerciales a pedido.

Y tu, ¿ya has usado Rookout?  ¿Te atreverías a probarlo?

JUnit

Corregir errores es una gran cosa. Pero, a menudo, el código que no presenta errores no se comporta como se esperaba durante la ejecución. Por ejemplo, declarar una calculo matemático incorrecto, tu programa puede no presentar errores de compilación, pero como garantizas que el resultado es el correcto?. O cuando realizas modificación en una clase, ¿Cómo garantizas que el cambio no impacta en toda la funcionalidad?

Este error se puede detectar mediante pruebas automatizadas.

JUnit es una herramienta de prueba elegida por los desarrolladores de Java. Es un Framework de código abierto. Por lo general, usa anotaciones para que las pruebas tengan accesorios antes de ejecutarlas. Algunas de sus ventajas incluyen la simplicidad de uso, proporciona informes de inmediato, no solo te permite escribir pruebas sino también todo un conjunto de pruebas.

La mayoría de los IDE son compatibles con JUnit, por lo que se ha convertido en uno de los Framework de prueba más populares, si no el más popular, para Java.

Y tu, ¿Haces pruebas unitarias de tus funcionalidades?

Apache Maven

Apache Maven es simplemente un software de gestión de proyectos de software. Si bien probablemente pueda usar cualquier otra herramienta para este propósito, Maven también administra compilaciones para sus proyectos Java.

Su principio de funcionamiento se basa en el concepto de modelo de objetos de proyecto (POM). La creación de un proyecto con Maven le facilitará automáticamente la creación de los siguientes. Una de las cosas que ayuda a aumentar la productividad de los desarrolladores de Java es su actualización automática de dependencias.

Dado que es de código abierto, la comunidad siempre agrega nuevas herramientas a su ya enorme biblioteca. No necesitará muchas configuraciones cuando lleguen nuevas herramientas útiles o se necesiten actualizaciones.

En este blog puedes encontrar muchos artículos útiles sobre Maven.

Git

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia, la confiabilidad y compatibilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Contar con un sistema de versionamiento te permitirá gestionar tu proyecto de forma flexible, revertir cambios, comparar versiones, aprobar cambios y restaurar cambios.

En este blog puedes encontrar una guía básica pero muy útil de GitHub

Apache Spark

Apache Spark permite a los desarrolladores de Java crear aplicaciones de procesamiento de datos intensivo. Permite procesar grandes cantidades de datos de forma rápida y escalable.

Es un marco basado en el modelo de programación MapReduce de Hadoop. Incluso amplía este modelo para incluir cálculos en una amplia gama de tipos de datos y tipos de consultas (incluida la transmisión).

A los desarrolladores de Java interesados en la ciencia de datos les encantará.

Conclusión

La productividad es más que usar herramientas. Es importante que un desarrollador también sepa jugar bien con todo el equipo. Sin embargo, estas herramientas, ya sea que se utilicen individualmente o juntas, de hecho pueden aumentar la cantidad de trabajo de calidad realizado por los desarrolladores.

domingo, 5 de noviembre de 2017

Tutorial Basico PrimeFaces

Esta guía contiene los siguientes puntos
  • ¿Que es PrimeFaces?
  • Prerrequisitos
  • Crear el proyecto en Netbeans
  • Agregar la dependencia PrimeFaces a nuestro archivo pom.xml
  • Crear nuestra página index.xhtml
  • Agregar nuestro descriptor de despliege
¿Que es PrimeFaces?
PrimeFaces es una suite de componentes gráficos (botones, menús, listas, listas desplegables, tablas, paneles, dialogos y otros) para crear interfaces gráficas de usuarios para aplicaciones web. Prime Faces es una extensión de JSF(Java Server Faces). He usado esta suite para desarrollar aplicaciones JEE, existe una extensa documentación pero solo en ingles, es por ello que me nació la iniciativa de escribir un guía básica, la verdad es que PrimeFaces no es muy complejo, si has trabajado con JSF te adaptarás muy rapido.

Algunas características de PrimeFaces
  • Se compone de un amplio catalogo de componentes, editores Html, dialogos, cuadros de textos que se autocompletan, graficas y mucho más.
  • Se basa en APIs de Ajax y en el estandard JSF
  • Ligero, un solo jar, no requiere dependencias y cero configuraciones
  • Cuenta con un kit para desarrollo mobile
  • Cuenta con 35 temas y herramienta para diseñar mas temas
  • Extensa documentación pero solo en ingles
  • Tiene una comunidad grande y activa
  • Desarrollado con pasión, de desarrolladores de aplicaciones para desarrolladores de aplicaciones.

En esta guía básica solo mostraremos un popup con el mensaje "Hola Mundo desde PrimeFaces"


Prerrequisitos
Java JDK 6 o Java JDK 7
JBoss AS 7.1.1 Final
Netbeans 8.1 con Maven y Soporte para Java Web y JEE

Si tienes dudas con la instalación y configuración de JBoss, te recomiendo revisar mi entrada anterior Instalar jbossas7 en windows

JBoss AS 7, viene con Mojarra, el cual es una implementación de Java Server Faces versión 2.0

1.- Crear el proyecto en Netbeans
Crearemos un proyecto en Netbeans, File, New Project. En categories seleccionamos Maven y en projects seleccionamos Web Application, Next.


Ingresamos los siguientes datos, Next.



Seleccionamos el servidor JBoss as 7, Finish.


2.- Agregar la dependencia PrimeFaces a nuestro archivo pom.xml
Vamos a usar la version 5.3 de PrimeFaces, lo podemos hacer de dos formas, la primera es editando  el archivo pom.xml y agregar el siguiente extracto de xml

        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>5.3</version>
        </dependency>

La segunda opción es agregarlo de forma gráfica, en el navegador del proyecto, seleccionar Dependencies, click derecho Add Dependency
Add

3.- Crear nuestra página index.xhtml
En el navegador del proyecto, seleccionamos el directorio Web Pages, click derecho, NewOther, en Categories seleccionamos Web y en Files Type seleccionamos XHTML, Next.
En el siguiente Dialogo, ingresar el nombre index

Editamos la página, lo más relevante de nuestra página

El namespace de primefaces
xmlns:p="http://primefaces.org/ui"

El tag contenedor de Java Faces
<f:view contentType="text/html">

El resto son los componentes gráficos, aquí tienes la página completa.



4.- Agregar nuestro descriptor de despliege
En el navegador de proyecto, seleccionamos el directorio Web Pages, click derecho, New, Other, en Categories seleccionamos Web y en Files Type seleccionamos Standard Deployment Descriptor (web.xml)



Algunos tutoriales te dirán que debes tener el archivo de configuración faces-config.xml, para este ejemplo simple no es necesario.

Aquí puedes descargar el proyecto para Netbeans

Ejecutar
Siempre recomiendo primero hacer un Clean and Build y luego Run, la aplicación se desplegará en el navegador por defecto.

Conclusión
Java Server Faces ha evolucionado mucho, ahora es más simple sin tantos archivos de configuraciones como lo era en un inicio. PrimeFaces es una suite de componentes enriquecidos, facil de usar y que no requiere de dependencias ni configuraciones.

Referencia
https://www.primefaces.org/documentation/

sábado, 26 de agosto de 2017

NetBeans IDE tiene y hace uso de un cache

Era un día cualquiera de trabajo, modifiqué mis clases correspondientes y ejecute el proyecto, algo andaba mal, la funcionalidad no reflejaba los cambios, vuelvo a revisar las modificaciones, compilo las clases y ejecuto de nuevo. Nada, todo seguía igual, probé borrando el directorio dist del proyecto para que se compilara de nuevo. Vuelvo a ejecutar y nada, la funcionalidad no reflejaba los cambios. Me puse a investigar y encontré que NetBeans tiene un caché, NetBeans guarda el resultado de las compilaciones en este caché y lo usa para resolver enlaces entre componentes, también en este caché se guarda el resultado del escaneo del classpath. Cuando el caché está corrupto NetBeans no puede resolver correctamente la localización de las clases. Un caché corrupto también causa errores de compilación relacionados con librerías. Y es así como a veces NetBeans se comporta de forma extraña, "se marea" como decimos aquí, es por ello que se recomienda borrar el cache cuando estos problemas ocurran.

¿Como borrar el cache de Netbeans?

Las siguientes instrucciones son válidas para Netbeans 7.2 y  superior

1. Localiza el directorio de cache, ir a Ayuda, y luego en Acerca De

2. Cerrar Netbeans
3. Renombrar el directorio cache
4. Iniciar Netbeans
5. Una vez que inicie, se habrá creado un nuevo directorio de cache
6. Después que Netbeans haya iniciado de forma exitosa, borrar el directorio renombrado

domingo, 23 de octubre de 2011

Como decirle a netbeans donde esta Java

Ayer en la tarde decidí desinstalar Java para volver a instalarlo, una instalación mas limpia, bien pues hoy he lanzado netbeans y me arroja el siguiente error Cannot find java. Please use the --jdkhome switch.

Entonces me dije, oooh netbeans no sabe que he cambiado la instalación de java, y es así como me di la tarea de buscar en donde se configura, en donde poder yo decirle a netbeans cual es el path de mi java.

Netbeans tiene un properties en el directorio etc el archivo se llama netbeans.conf y la propiedad se llama netbeans_jdkhome

El directorio etc se encuentra es el directorio de instalación de Netbeans, en mi yo tengo Linux/Ubuntu y este se encuentra en /home/rlopez/netbeans-6.9.1


Pero no es la única forma, el lanzador de NetBeans te permite lanzar netbeans como varias opciones, las más relevantes:

General options:
  --help                show this help
  --jdkhome <path>      path to JDK
  -J<jvm_option>        pass <jvm_option> to JVM

  --cp:p <classpath>    prepend <classpath> to classpath
  --cp:a <classpath>    append <classpath> to classpath

  --fork-java           run java in separate process
  --trace <path>        path for launcher log (for trouble shooting)

  --console suppress    supppress console output
  --console new         open new console for output



Por ejemplo, si queremos especificar el path del jdk home, podemos ejecutar Netbeans de la siguiente forma (en Windows).

Abrimos una shell de Windows y vamos al directorio bin de Netbeans
C:\devel\tools\NetBeans 8.2 RC\bin 

ejecutamos el comando
netbeans64 --jdkhome %JAVA_HOME%

donde %JAVA_HOME%  es nuestra variable de entorno, asegúrate que la variable de entorno es correcta,