3

我正在创建一个以编程方式更新现有 POM 的插件,我可以使用 DependencyFacet、MavenFacet 等添加依赖项、存储库和各种其他信息,但是,我无法弄清楚如何添加父 POM。以下是我尝试过的代码,但它不起作用。对于我可以使用哪个方面以及使用它的语法是什么,我们将不胜感激。

 Parent p = new Parent();
 p.setGroupId("org.example");
 p.setArtifactId("application-master-pom");
 p.setVersion("1.1.0");
 MavenFacet mavenFacet = getFaceted().getFacet(MavenFacet.class);
 mavenFacet.getModel().setParent(p);

但是,父 POM 引用并未添加到执行我正在创建的命令的项目 pom 中。

4

1 回答 1

5

经过反复试验,我找到了答案......

Parent p = new Parent();
p.setGroupId("org.codehaus.griffon");
p.setArtifactId("application-master-pom");
p.setVersion("1.0.0");
MavenFacet mavenFacet = getFaceted().getFacet(MavenFacet.class);
Model model = mavenFacet.getModel();
model.setParent(p);
mavenFacet.setModel(model); 

而不是像问题中那样直接设置父级。如果我们获取模型并使用 maven facet 设置父模型并重置模型,则它成功更新了父 pom。

于 2015-04-25T16:28:28.010 回答