Accès aux propriétés maven définies dans le pom

Comment accéder aux propriétés maven définies dans le pom dans un projet maven normal et dans un projet de plugin maven?

Utilisez le plugin properties-maven pour écrire des properties pom spécifiques dans un fichier au moment de la compilation, puis lisez ce fichier au moment de l’exécution.

Dans votre pom.xml :

  ${project.name> ${project.version} bar     org.codehaus.mojo properties-maven-plugin 1.0-alpha-2   generate-resources  write-project-properties   ${project.build.outputDirectory}/my.properties       

Et puis dans .java :

 java.io.InputStream is = this.getClass().getResourceAsStream("my.properties"); java.util.Properties p = new Properties(); p.load(is); Ssortingng name = p.getProperty("name"); Ssortingng version = p.getProperty("version"); Ssortingng foo = p.getProperty("foo"); 

Configurez une variable système à partir de Maven et en Java après l’appel

 System.getProperty("Key"); 

Maven a déjà une solution pour faire ce que vous voulez:

Obtenez MavenProject à partir de l’parsingur POM.xml – pom?

btw: premier coup sur google search;)

 Model model = null; FileReader reader = null; MavenXpp3Reader mavenreader = new MavenXpp3Reader(); try { reader = new FileReader(pomfile); // <-- pomfile is your pom.xml model = mavenreader.read(reader); model.setPomFile(pomfile); }catch(Exception ex){ // do something better here ex.printStackTrace() } MavenProject project = new MavenProject(model); project.getProperties() // <-- thats what you need 

Cela peut être fait avec les propriétés Java standard en combinaison avec le plugin maven0-resource-plugin avec le filtrage activé sur les propriétés. Pour plus d’infos voir

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

Cela fonctionnera pour le projet maven standard comme pour les projets de plug-in

Vous pouvez parsingr le fichier pom avec JDOM (http://www.jdom.org/).