Как добавить родительский POM в POM с помощью API 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 ответ

Решение

Я нашел ответ после некоторых проб и ошибок...

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, он успешно обновит родительский pom.

Другие вопросы по тегам