Encontre a versão do Apache Axis no arquivo jar

Tive que fazer algumas investigações no site de um cliente que tinha algum eixo apache antigo rodando, e queríamos a versão para que pudéssemos tentar “mavenizar” o aplicativo. Aqui está o processo pelo qual passamos para encontrá-lo. O Axis empacota uma classe de versão, com um método principal que irá revelar a versão e a data de construção por padrão. Para executá-lo na linha de comando, tivemos que resolver várias dependências:

$ java -cp ./jboss/server/default/lib/axis.jar org.apache.axis.Version
Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory

Então, um por um, usamos uma busca jar para encontrar e resolver dependências:

$ find ./jboss/server/ -name "*.jar" -exec grep -Hsli LogFactory {} ;
./jboss/server/default/lib/commons-logging.jar
$ java
-cp ./jboss/server/default/lib/axis.jar:./jboss/server/CCDb/lib/commons-logging.jar: org.apache.axis.Version
$
... and so on....

Eventualmente, todas as dependências são resolvidas e obtemos nossa versão:

$ java -cp ./jboss/server/default/lib/axis.jar:./jboss/server/default/lib/commons-logging.jar:./jboss/server/default/lib/commons-httpclient.jar:./jboss/server/default/tmp/deploy/tmp3647155339465300265CRM-myapp.ear-contents/ejb.jar-contents/commons-discovery-0.4.jar org.apache.axis.Version
Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)

… oy … tão velho ..