¿Alguna vez has tenido un ClassNotFoundException y has tenido que investigar a mano en qué jar estaba esa clase, y si realmente estaba añadido al proyecto o no?. Jarhalla-local es una sencilla herramienta que pretende ayudar en esta tarea. Se trata de una aplicación Swing opensource. En ella simplemente apuntamos a un directorio donde haya archivos jar y nos permite buscar empleando un campo de texto clases. Según vamos tecleando algo en ese campo de texto la aplicación nos muestra todas las clases que contienen el patrón tecleado y nos indica en qué archivo jar se encuentran. Lo que tecleemos podría ser tanto el nombre de una clase como de un paquete, y podemos emplear comodines.
Además, la herramienta detecta automáticamente si en el sistema tenemos instalada alguna herramienta para el control del ciclo de vida de un proyecto como Maven, Gradle o Ivy, y, automáticamente sin que el usuario haga nada, Jarhalla-local identifica el repositorio donde dicha herramienta almacena sus artefactos y nos permite hacer búsquedas sobre él.
Jarhalla-local todavía no ha llegado a su versión 1.0, pero está cerca ya es usable. Lo ha construido un veterano de esta comunidad, Isaac Ruiz Guerra (Rugi), y podéis encontrar su código fuente en GitHub. Aquí os dejo un pequeño video donde Isaac demuestra el funcionamiento de la aplicación:
Jarhalla-local Casi la v. 1 from Isaac Ruiz Guerra on Vimeo.
La aplicación es una "versión de escritorio" de otro proyecto de Isaac: Jarhalla, un buscador online de Jars donde nuevamente podemos buscar en qué archivos jar está una determinada clase. El buscador tiene indexados los archivos jar de múltiples repositorios open source.
¿Creéis que o resultaran útiles las herramientas Jarhalla-local y Jarhalla?