Archivo de la categoría: DEBUN_Java_Libs

Gestión de dependencias Maven mediante la librería Aether

Aether es una librería Java que permite integrar en cualquier aplicación Java el mecanismo de resolución de dependencias de Maven. Se trata de una forma mucho más simple de hacerlo que integrar la distribución completa de Maven o incrustar Plexus dentro de la aplicación.
La API de Aether provee funcionalidades para:
  • Definir y gestionar de un repositorio local de artefactos.
  • Recuperar artefactos desde múltiples repositorios remotos para su consumo local.
  • Publicar artefactos locales en múltiples repositorios remotos.
  • Resolver las dependencias transitivas de los artefactos.
  • Inspeccionar el grafo de dependencias de un artefacto.
En este post se exponen ejemplos concretos de implementaciones para las funcionalidades anteriormente mencionadas.

Seguir leyendo Gestión de dependencias Maven mediante la librería Aether

Adaptación de librería java-json.jar a JAVA 1.4

Una de las limitaciones más comunes a la hora de programar es la versión del jdk que requiere nuestra aplicación. Cuando los requerimientos exigen una versión un tanto antigua (1.4 por ejemplo), encontramos problemas a la hora de usar tecnologías como AJAX, sobretodo si necesitamos utilizar respuestas de tipo JSON. Para ello existe una librería muy simple «java-json.jar» pero nos encontramos de que es incompatible con el jdk 1.4.

Aquí explicaré en pocos pasos como adaptar y recompilar esta librería para hacerla compatible y funcional para una aplicación que use un jdk 1.4. Necesitaremos descargar el código fuente de la librería y modificar unos pequeños detalles de las clases que contiene.

Se puede descargar el código fuente de aquí

PROCEDIMIENTO:

Primero importaremos el código a nuestro IDE (en este caso uso Eclipse Juno) . Crearemos un proyecto Java.

 

Y definimos la versión del jdk que usaremos como jdk_4_2_19

 

Una vez tenemos nuestro proyecto creado, importaremos las clases de la librería que vamos a refactorizar. Para eso vamos a Archivo -> importar -> File System

Y seleccionamos la carpeta donde tenemos las clases descargadas.

Una vez tenemos las clases importadas, abrimos una de estas clases y miramos el «package» donde debería estar incluida la clase.

 

Creamos en nuestro proyecto este package y movemos todas las clases a este package

Ahora comprobaremos que las clases muestran errores, esto es lo que debemos corregir.

1 – Cambiamos la utilización de la clase «StringBuilder» por «StringBuffer»

 

2 – Eliminamos las parametrizaciones de las clases «Iterator», «ArrayList», «Set», «Collection», «Enumeration», «Map» i «HashMap»

 

3 – Al eliminar la parametrización, deberemos añadir unos «casts» ya que al no estar parametrizados, ahora todos seran «Object».

 

4 – Eliminamos las anotaciones.

 

5 – Las operaciones de suma entre objetos se deben modificar para que sean entre tipos primitivos, ya que la suma entre objetos no está soportada.

Imagen 1

 

Imagen 2

6 – Modificamos las asignaciones directas de tipos primitivos a clases por una instanciación de la propia clase.

Una vez nuestro proyecto esta corregido sin errores, encapsulamos de nuevo todas las clases en un nuevo archivo .jar compilado con el jdk 1.4. Para esto, clickamos sobre el package «org.json» con el botón derecho del ratón i selecionamos «export -> Java-> Jar file».

 

Finalmente, clickamos a «Finish» y tenemos nuestra librería compilada y totalmente funcional para Java 1.4.