Bonjour tout le monde,
J'ai un fichier "pom.xml" que je souhaite lire et récupérer la valeur de version.
voici le contenue du fichier pom:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.societe.rh.ejb</groupId>
<artifactId>rhserver</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>ejb</packaging>
<name>RH Server</name>
<dependencies>
<!-- External APIs -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee-version}</version>
<scope>provided</scope>
</dependency>
</dependencies>.....
</project> |
Alors comme j'ai dis, moi je souhaite récupérer la valeur de la ligne
<version>1.0.0-SNAPSHOT</version>
,j'ai utilisé le jdom, voici la classe que j'ai implémenté :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| package utilitaire;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class Launcher {
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File("C:\\Users\\Rachid\\Desktop\\pom.xml");
try {
if(xmlFile.exists()){
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren("version");
for (int i = 0; i < list.size(); i++) {
Element node = (Element) list.get(i);
}
}
} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}
}
} |
Le problème que j'ai c'est que l'instruction
List list = rootNode.getChildren("version");
me renvoie la liste vide.
J'ai essaiyé plusieurs example mais ça pas marché.
SVP avez-vous une piste ou un example qui marche?
Merci d'avance pour votre aide.
Partager