Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JBOSS Forge API将父POM添加到POM_Java_Maven_Jboss Forge - Fatal编程技术网

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

Java 如何使用JBOSS Forge API将父POM添加到POM,java,maven,jboss-forge,Java,Maven,Jboss Forge,我正在创建一个以编程方式更新现有POM的插件,我可以使用DependencyFacet、MavenFacet等添加依赖项、存储库和各种其他信息,但是,我无法确定如何添加父POM。下面是我尝试过的代码,但它不起作用。对于我可以使用哪个方面以及使用它的语法,我们非常感谢您的帮助 Parent p = new Parent(); p.setGroupId("org.example"); p.setArtifactId("application-master-pom"); p.setVersio

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

您希望以何种方式更新pom?版本?我试图使用MavenFacet以编程方式更新POM,但不确定它是否正确。facet是特定于IDE的,它是通过将项目导入Eclipse来完成的,除此之外,将这些内容放入POM是没有意义的,它们不属于那里。您使用哪种Eclipse/IDE?@khmarbaise我不确定您是否了解jboss forge及其框架。我正在为JBossForge构建一个插件,其中有几个方面或实用程序可用。这可以用来做几件事。MavenFacet帮助我们用Maven POM做了几件事。用于向pom添加依赖项的DependencyFacet。