Daniel Prado

Java

Scripts para localizar conflictos de clases java en diferentes jars de un servidor de aplicaciones web bajo linux

En este artículo se muestra dos scripts que permite detectar conflictos de clases java que pudieran estar desplegados en varios jar de la misma aplicación o en contextos diferentes.

Por 1 min de lectura Revisado el

Comprobado: Revisión contextual, no ejecución del código: Manual actual de GNU Findutils (www.gnu.org).

Contexto de este artículo

  • Tecnología y versión: Shell de Linux, utilidades de búsqueda y archivos JAR; versiones no indicadas.
  • Año del artículo: 2007.
  • Estado a 11 de octubre de 2026: Técnica vigente; scripts históricos sin validar. Antes de usarlos, revisa las rutas, los espacios en nombres y las herramientas instaladas.
  • Documentación de referencia: Manual actual de GNU Findutils.

Conservo a continuación el texto y los ejemplos de aquella fecha como archivo técnico. No he ejecutado estos ejemplos en un entorno actual: esta revisión contextual no garantiza que funcionen hoy.

Con estos scripts podremos en sistemas linux detectar los conflictos de clases java con mismo el mismo nombre y paquete que pudieran estar desplegados sobre la misma aplicación.

Estos son muy útiles cuando se detecta que hay clases con el mismo nombre y se ejecuta el que no queremos, así podemos detectar que otras clases se llaman igual y con las cuales podemos tener los conflictos.

Opción 1 .-

find . -name \*.jar | while read i; 
do echo $i; 
jar tf $i | grep classname; 

Opción 2 -

find ./ -name "*.jar" -type f -print | xargs -i -t jar -tf {} |
grep .class | xargs -i -t grep {} ../otherDir/*.jar | grep matches > matches.txt
Compartir: WhatsApp Facebook X Correo

Comentarios

Aún no hay comentarios. ¡Sé el primero!

Deja tu comentario

No lo publicaremos.

Tu comentario pasará por moderación antes de publicarse. Privacidad.