Как добавить родительский 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.