IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[JAR] Manifest et comparaison de version


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut [JAR] Manifest et comparaison de version
    Salut!!

    Voila j'aimerai savoir comment faire pour comparer deux versions d'implémentation ou deux versions de spécification d'un package, ou module spécifiés dans le manifest d'un JAR.
    J'explique un peu: je fais un petit outil qui a partir de deux jar de même nom mais pas forcément de même version va lire la version de spécification qui est indiquée dans le Manifest et doit retourné si la version est supérieure, inférieure ou égale... (exemple 1.2.0<1.2.1)
    J'arrive bien a lire les version etc... mais je ne sais pas comment les comparer puisqu'elles sont de la forme 1.0.0 par exemple ...??
    Existe-t-il une méthode le permettant??

    merci de l'aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Une voie est de comparer les éléments égaux de la version.

    Exemple d'un format pour une version: <Majeur>.<Mineur>.<Revision>.<Option>

    Ce n'est qu'un exemple car, à ma connaissance, aucune norme ou standard existe pour le formatter un version. Il n'existe que des habitudes ou des conventions.
    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Points : 626
    Points
    626
    Par défaut
    Effectivement le problème est que le format de version est assez libre et donc comparer les versions de deux programmes differents risquent d'aboutir à des incoherences.
    Effecteur une comparaison en considerant que "l'element de gauche" est le plus important et la voie à suivre, je pense.

    Après il faut savoir si tu veux une mehode trois états (plus recent/moins recent/meme version), ou une methode réelle dont l'amplitude du resultat indique l'ecart entre les versions.

    Dans le premier cas, un truc du genre devrait suffire
    int[] version1 = ...
    int[] version2 = ...
    for(int i =0;i<version1.lengthi && i<version2.length;i++) if(version1[i]!=version2[i]) return version1[i]-version2[i];
    On pourrait eventuellement utiliser des constantes...

    Si le retour doit etre proportionel, lié chaque partie de la version à une puissance de base quelconque (2 ou 10, à priori quand meme) semble une bonne solution. Le signe donne toujours une comparaison basique

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Donc je ne peux pas faire un outil générique puisque les versions n'ont pas toutes le même format.
    La fonction compareWith de java.lang.package permet cette comparaison entre les versions de spécifications, mais comment l'utiliser lorsque l'on a que le jar en donnée d'entrée?

Discussions similaires

  1. [JAR][Manifest] classpath trop long
    Par zolive dans le forum Général Java
    Réponses: 5
    Dernier message: 22/03/2007, 16h46
  2. [Utilisation] Comparaison des versions sur le serveur et sur le client
    Par ruff15 dans le forum CVS
    Réponses: 1
    Dernier message: 18/03/2007, 15h54
  3. Comparaison de version de fichier
    Par drkns dans le forum C++
    Réponses: 3
    Dernier message: 27/07/2006, 13h49
  4. [jar] Manifest
    Par djskyz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/08/2004, 10h58
  5. [débutant][jar][Manifest.MF]
    Par Stessy dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 06/08/2003, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo