我正在创建一个插件,以编程方式更新现有的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中。

最佳答案

经过一番尝试和错误后,我找到了答案...

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。

10-08 06:36