如何使用JBOSS Forge API将父POM添加到POM

时间:2015-04-11 05:41:15

标签: java maven jboss-forge

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

1 个答案:

答案 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。