如何在运行时编辑maven POM?

时间:2010-05-11 14:29:52

标签: runtime maven editing pom.xml

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

3 个答案:

答案 0 :(得分:10)

使用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);

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

此代码适用于我:

start == target

TestMavenPomEdit.java

HTH