Как добавить файлы в проект maven, выполняющий цель создания (mvn archetype: generate)? - PullRequest
1 голос
/ 09 января 2012

Я строю архетипический проект Maven. В качестве параметра (serviceDescriptor) я передаю путь к XML-файлу. Когда цель генерации успешно выполнена, я хотел бы иметь файл serviceDescriptor в src / main / resources. Основываясь на документации архетипов maven, кажется, что это невозможно, но должен быть способ сделать это.

1 Ответ

1 голос
/ 18 января 2012

Я потратил пару дней на это, и я думаю, что нашел разумное решение.

Как я уже упоминал в этом вопросе, я передаю путь к файлу как обязательное свойство для архетипа: generate. Мне пришлось реализовать простой плагин, который выполняется после завершения генерации архетипа. Этот плагин копирует файл в src / main / resources, читает некоторые данные из файла и обновляет pom.xml, устанавливая некоторые свойства. Чтобы иметь возможность изменять файл pom.xml, я использую архетип maven-model-2.0 в качестве зависимости в плагине maven. Он предлагает классы Maven MvenXpp3Reader и MavenXpp3Writer, которые позволяют безопасно изменять pom.xml.

Чтобы указать проекту архетипа выполнить плагин в конце фазы генерации архетипа:

mvn archetype:generate -goals=plugin_groupId:plugin_artifactId:goal

Недостатком является то, что плагин должен быть доступен в доступном репозитории или локальном репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...