domingo, 9 de mayo de 2021

Crear una aplicación con Java Swing y Jlink

Con Netbeans 12.3 y Maven es muy fácil crear una aplicación de Java que puede ser ejecutada sin necesidad del IDE. En muchas ocasiones no aprendemos esto en la academia y queremos saberlo para poder distribuir nuestras aplicaciones. Para mi ejemplo vamos a trabajar con Windows, pero pueden utilizar otro sistema operativo.

Realmente para hacer esto es muy simple. Lo primero que debemos hacer es un proyecto nuevo con Maven de tipo Java Application


En mi caso el proyecto se llama HelloSwing. Luego vamos a crear una clase Main. A continuación una clase de tipo JFrame. Lo que tenemos que hacer es llamar el JFrame en el main para ejecutar la ventana.

El siguiente paso es crear un module-info


En este modulo tenemos que agregar las siguientes líneas. La línea 8 es para poder utilizar JFrame (swing) y debemos exportar el modulo donde esta nuestra clase Main.

A partir de este momento se tienen que agregar algunos plugins de Maven para poder continuar con nuestro proyecto.

El primer plugin seria


Después de esto debemos agregar otro plugin para poder crear todo lo necesario que se requiere para correr nuestra aplicación.


El nombre de nuestra imagen es swing luego ocupamos agregar la línea 23 para que se crea el punto de inicio de nuestra app. Donde requerimos el nombre del ArtifactId.


El Artifact Id lo podemos encontrar en las propiedades de nuestro proyecto. Y debemos agregar el nombre con el paquete de la clase Main para que nos funcione. En mi caso es com.testing.helloswing.Main

En Netbeans debemos correr el Goal de jlink para que compile nuestra imagen y cree todo lo necesario. 



Cuando corremos esta tarea (jlink) tenemos que ir a buscar en la carpeta de target de Maven lo que se generó. En mi caso la carpeta que se llama Maven-jlink (puede que existan otras carpetas dentro). Se tiene que buscar un archivo llamado swing.bat. Si damos doble clic a esto nos ejecutara nuestra aplicación.

Ya de esta manera podemos correr nuestra aplicación sin necesidad del IDE.


Etiquetas: , , ,

viernes, 31 de julio de 2020

Apache Netbeans 12 Payara y JDK14 Para crear servicios de Rest

Hace unos días tenía que hacer un servicio de Rest pero no quería utilizar los JDK anteriores al 14 de Java. encontré que se puede utilizar un proyecto de Micro Payara con JEE8 (Jakarta) para crear esto.

Lo primero que vamos a hacer es crear un proyecto nuevo en Netbeans usando Maven.


Buscamos el que dice Payara Micro Application, damos clic en siguiente luego de esto debemos de asignarle un nombre a nuestro proyecto y damos clic en siguiente.

En mi caso vamos a seleccionar la versión 5.201 del servidor de Payara. Luego clic en finalizar.


Dentro de mi proyecto voy a crear un paquete nuevo que se va a llamar codebase


En este paquete vamos a crear unas clases POJO que utilizaremos para generar nuestros objetos de Json. Vamos a crear una clase que se llama Article donde vamos a tener unas variables para describir artículos que tendremos en nuestro sistema.

Ahora si es tiempo de agregar nuestro primero servicio de Rest. Siguiendo los pasos a continuación

1.       Clic derecho sobre el proyecto

2.       New

3.       Clic sobre otros

4.       Buscamos la carpeta que dice Web Services

5.       Y seleccionamos Restful Web Services From Patterns


Ahora hacemos clic en siguiente hasta llegar a esta pantalla. Donde tenemos que hacer algunos cambios. Primero el paquete donde queremos guardar las clases relacionadas a nuestros APIs, el path donde estará ubicado nuestro servicio, el nombre del recurso. Es importante no olvidar cambiar el MIME Type a json que es la forma que nuestro API va a responder. El campo final no es tan importante cambiarlo ya que lo podemos hacer después para retornar una lista de objetos.


Cuando tenemos todo listo damos clic en finalizar.

Esto genera un nuevo paquete con dos clases. La clase que tiene nuestra definición del API que seria ArticleResource y la clase con la configuración de nuestro servicio. Vamos a ir a la clase ArticleResource.


 


La clase AricleResource va a tener los verbos de Rest. Para nuestro ejemplo vamos a utilizar únicamente el verbo de GET.


En este método vamos a inicializar la lista como se puede ver en la línea 45 y la vamos a retornar.

Ya estamos listos para correr nuestra aplicación.

Cuando corremos nuestra aplicación se va a correr un servidor de Payara en le console out de Netbeans vamos a poder ver la dirección que podemos usar para ver nuestro servicio en el browser.


En el output vamos a poder ver el URL en mi caso esta corriendo sobre el puerto 8081.

Cuando lo abrimos en el navegador de internet se puede ver el resultado de nuestro API de artículos que muestra un json.



Ejemplo


Etiquetas: , , , , , , ,