Si nous faisons partie de la catégorie des développeurs chanceux, nos jars sont bien référencés avec les numéros de version dans le nom de l'archive, comme par exemple "spring-aop-2.0.5.jar".
Malheureusement, ce cas est souvent bien rare et nous nous retrouvons face à une version inconnue, spring-aop.jar. Comment faire alors pour retrouver la bonne version (sans devoir jouer à la roue de la fortune...) ?
1°) Vos papiers s'il vous plait
Toute archive .jar contient un fichier MANIFEST.MF dans le répertoire de base META-INF. Ce fichier reprend en théorie les informations du créateur et surtout, le numéro de révision de la version sous l'intitulé : Implementation-Version: X.Y.Z
De là, nous avons l'information principale pour retrouver la bonne déclaration de la version du fichier afin de l'inclure dans le pom.xml de notre projet.
2°) On ne parle toujours pas ?
Cependant, il arrive que ces fichiers soient modifiés, voir livrés de façon incomplète et là, adieu les informations de version. Heureusement nous avons notre couteau suisse avec nous, ..... à seulement 2 lames.
La première consiste à utiliser l’outil md5, qui permet le calcul de ce que l’on appelle l'empreinte digitale ou la signature d'un fichier, ou fingerprint en anglais. Présent sur la plus part des distributions Linux, ce programme l'est aussi pour Windows (Télécharger-le ici)
Une fois installé, nous devons juste l'appeler en ligne de commande avec notre fichier jar en paramètre.
C:\md5sum>md5 spring-aop.jar
… ce qui nous donne le résultat suivant :
164989EF39D1482BAECE494BF9011CA1 spring-aop.jar
Maintenant, utilisons notre deuxième lame : Google !!!! Eh oui, notre cher ami Google vient à notre secours et d'une simple recherche avec la signature numérique du fichier, il nous retourne à coup sûr le numéro de version (voir directement un exemple de déclaration de dépendance pour Maven)
J'espère que cette petite astuce vous épargnera bien des soucis, et bonne recherche.
Commentaires
Après avoir inclus l'exécutable "md5.exe" dans la variable d'environnement PATH :
Voici une commande pour lister les MD5 de tous les jar du répertoire courant dans un seul fichier "md5.txt" :
>>>
for /r . %f in (*.jar) do md5 "%f" >> md5.txt
<<<