segunda-feira, 3 de setembro de 2007

Script bash para encontrar classes em um diretório de jars

Scripts bash é uma das ferramentas mais uteis para desenvolvedores. Hoje por exemplo, para enfrentar um problema de classe duplicada no classpath da aplicação, fiz um rápido script para identificar todas as classes que seguem determinado padrão em um determinado diretório de jars. No caso, no WEB-INF/lib. Segue o script:
for i in $( ls | grep jar )
do
echo "$i:"
jar -tvf $i | grep "javascript.Context"
done;
No caso, estava procurando pela classe Context do Rhino, que logo descobri estava mesmo duplicada. Não no WEB-INF/lib da minha aplicação, mas dentro do weblogic.jar. Sim, por incrível que pareça o weblogic empacotou o Rhino inteiro em seu jar, com caminho de pacote e tudo, e ainda por cima numa versão bem antiga. Cada dia que passa mais odeio o weblogic.

Um comentário:

  1. Eu sempre digo que saber usar bash pode ser a diferença entre resolver um problema em 3 minutos ou 3 horas :D

    ResponderExcluir