我正在创建一个以编程方式更新现有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中。
答案 0 :(得分: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。