如何在运行时编辑maven POM?

Dan*_*ela 9 runtime editing pom.xml maven

我需要在运行时编辑POM.我使用Dom4j读取pom,之后设置了一些数据.但我需要知道是否存在另一种形式来做到这一点.为此存在maven公用事业?

blu*_*oot 11

使用MavenXpp3Reader读取和MavenXpp3Writer写入Model的对象.简单的例子:

String baseDir = "/your/project/basedir/";

//Reading
MavenXpp3Reader reader = new MavenXpp3Reader();
Model model = reader.read(new FileInputStream(new File(baseDir, "/pom.xml")));

//Editing
model.setUrl("http://stackoverflow.com");

//Writing
MavenXpp3Writer writer = new MavenXpp3Writer();
writer.write(new FileOutputStream(new File(baseDir, "/pom.xml")), model);
Run Code Online (Sandbox Code Playgroud)

请注意,任何注释,额外的空格或行都将从文件中删除.


Chr*_*ava 1

根据您要更改的内容,可能会有 Maven 插件。例如,maven发布插件更新 pom.xml 中的版本信息并将更改检查到版本控制中。

尝试搜索您要完成的特定任务(例如“maven 插件版本号更新”),而不是更通用的“修改 pom.xml”。