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

Maven Java Discussion :

Récupérer la version de Build Maven dans source


Sujet :

Maven Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 716
    Par défaut Récupérer la version de Build Maven dans source
    Bonjour,

    Apres generation Maven, je cherche a récupérer le No de version du build afin de l'integrer dans mon projet.
    soit dans un propertie ou par modification du source, cela est il possible ?

    Merci d'avance
    Phiiippe

  2. #2
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Avec maven-jar-plugin tu vas remplir ton fichier manifest avec le numéro de version

    par Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <manifestEntries>
        <ComponentVersion>${project.version}</ComponentVersion>
        <BuildTime>${maven.build.timestamp}</BuildTime>
    </manifestEntries>
    Ensuite il te faudra lire ton manifest...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Class clazz = TotoClassDeTonJar.class; // ou instanceDeTonJar.getClass()
    String className = clazz.getSimpleName() + ".class";
    String classPath = clazz.getResource(className).toString();
    if (!classPath.startWith("jar")) {
      // pas trouvé
      return;
    }
    String manifestPath = classPath.substring(0, classPath.lastIndexOf("!") + 1) + "/META-INF/MANIFEST.MF";
    Manifest manifest = new Manifest(new URL(manifestPath).openStream());
    Attributes attr = manifest.getMainAttributes();
    String value = attr.get("ComponentVersion");

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Dans le même esprit : avoir un fichier properties quelque part, qui sera filtré par Maven et qui possède une propriété de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon-appli.version=${project.version}
    Une fois le build fait par Maven, ce fichier comprendra la version, et il te suffira de lire le fichier dans ton code Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Properties props = new Properties();
    props.load("/monfichier.properties"); // A supposer que monfichier.properties se trouvait dans src/main/resources par ex.
    String version = props.getProperty("mon-appli.version");
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2012, 11h41
  2. Récupérer exp version 9i pour utiliser dans une 11g
    Par StéphanieBB dans le forum Import/Export
    Réponses: 8
    Dernier message: 23/01/2012, 16h50
  3. Réponses: 3
    Dernier message: 18/10/2010, 10h03
  4. Réponses: 2
    Dernier message: 01/10/2010, 15h34
  5. Réponses: 3
    Dernier message: 19/07/2010, 11h42

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