En ce qui concerne la version d'une bibliothèque Java, il existe des champs prévus à cet effet dans META-INF/MANIFEST.MF (pour ceux qui ne connaissent pas Java, il s'agit du fichier décrivant l'archive Java, et entre autre quelle est la classe principale dans le cas d'un jar auto-exécutable).
Manifest-version: 1.0
Name: java/util/
Specification-Title: Java Utility Classes
Specification-Version: 1.3
Specification-Vendor: Sun Microsystems Inc.
Implementation-Title: java.util
Implementation-Version: build57
Implementation-Vendor: SunMicrosystems. Inc.
Si l'on obtient un instance de Package décrivant le paquet en question (java.util dans notre exemple), les méthodes getImplementationVersion() et getSpecificationVersion() vont nous retourner respectivement "build57" et "1.3". Voir : http://java.sun.com/j2se/1.4/docs/api/java/lang/Package.html(...)
Bien sûr, le problème est que tout le monde ne connait pas l'existence de cette gestion des versions, et qu'en pratique c'est très peu utilisé. Mais dans le cas où c'est fait correctement, si on peut localiser le jar ou s'il est placé dans le répertoire des extensions, on peut l'utiliser.
[^] # Déterminer la version d'une bibliothèque Java
Posté par François B. . En réponse à la dépêche Sortie de IzPack 3. Évalué à 5.
Tous les détails se trouvent ici : http://java.sun.com/j2se/1.4/docs/guide/versioning/spec/VersioningS(...)
Voici un exemple tiré de la page ci-dessus :
Si l'on obtient un instance de Package décrivant le paquet en question (java.util dans notre exemple), les méthodes getImplementationVersion() et getSpecificationVersion() vont nous retourner respectivement "build57" et "1.3". Voir : http://java.sun.com/j2se/1.4/docs/api/java/lang/Package.html(...)
Bien sûr, le problème est que tout le monde ne connait pas l'existence de cette gestion des versions, et qu'en pratique c'est très peu utilisé. Mais dans le cas où c'est fait correctement, si on peut localiser le jar ou s'il est placé dans le répertoire des extensions, on peut l'utiliser.