如何使用 JBOSS Forge API 将父 POM 添加到 POM
How to add Parent POM to a POM using JBOSS Forge API
我正在创建一个以编程方式更新现有 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);
而不是像问题中那样直接设置parent。如果我们获取模型并设置父级并使用 maven facet 重置模型,它会成功更新父级 pom。
我正在创建一个以编程方式更新现有 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);
而不是像问题中那样直接设置parent。如果我们获取模型并设置父级并使用 maven facet 重置模型,它会成功更新父级 pom。