You can read and save any property in your pom.xml , as I do in this function:
public static void saveProjectProperty(String propertyName, String value) { Model model = null; FileReader reader = null; MavenXpp3Reader mavenreader = new MavenXpp3Reader(); try { reader = new FileReader("pom.xml"); model = mavenreader.read(reader); MavenProject project = new MavenProject(model); while (project.getParent() != null) { project = project.getParent(); } project.getProperties().put(propertyName, value); try (FileWriter fileWriter = new FileWriter("pom.xml")) { project.writeModel(fileWriter); } } catch (IOException ex) { LOG.severe("Error saving pom.xml"); } catch (XmlPullParserException ex) { LOG.warning("Error reading pom.xml"); } }
To be able to use clans that are not part of the JVM, you must add these dependencies:
<dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-project</artifactId> <version>2.0</version> </dependency
Eliux source share