• [^] # Déterminer la version d'une bibliothèque Java

    Posté par . En réponse à la dépêche Sortie de IzPack 3. Évalué à 5.

    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).

    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 :
    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.