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
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
Avec maven-jar-plugin tu vas remplir ton fichier manifest avec le numéro de version
par Exemple:
Ensuite il te faudra lire ton manifest...
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>
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");
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 :
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 mon-appli.version=${project.version}
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
Partager