miércoles, 1 de septiembre de 2010

Decompilador de Jasper

A la vuelta de vacaciones me he encontrado con un pequeño problema laboral. Necesitábamos hacer cambios en los informes de una aplicación que fueron desarrollados hace unos añitos, y como en esa época no teníamos repositorio de código, los fuentes no aparecían por ningún lado.

Así que nuestra única opción, descartando rehacer desde cero los informes, claro, era buscar el modo de obtener los ficheros jrxml a partir de los jasper. Esto se puede hacer con un código tan simple como el siguiente.

JasperReport report = (JasperReport) JRLoader.loadObject(jasper.getAbsolutePath());
JRXmlWriter.writeReport(report, jrxml.getName(), "UTF-8");

Donde jasper es un File que apunta al fichero jasper que queremos decompilar, y jrxml es un File que apunta al fichero de destino.

Para evitar tener que montar un proyecto cada vez que necesite conseguir el código fuente de jasper, he creado un programa que permite decompilar un fichero completo de forma rápida. No hay más que arrancarlo, indicar el directorio en que se encuentran los jasper, y el directorio en que se quieren crear los jrxml.


La aplicación se puede descargar aquí.

4 comentarios:

  1. Oye viejo
    Es que te las mandaste, estaba buscando información al respecto, ocurre que en la oficina, hicieron modificaciones al jrxml, y compilaron, ahora se necesita regresar, afortunadamente openreports, hace copia de los reportes que subimos así que pensaba que podía decompilarlo haciendo un proyectito java, pero me ahorraste el trabajo y ya podemos recuperar los jrxml originales.

    Gracias por compartir

    ResponderEliminar
  2. Me alegro de que te haya servido!

    ResponderEliminar
  3. no encontre el archivo cuando fui a descargarlo

    ResponderEliminar

Cualquier aportación será bienvenida