Переименование группы в maven

Я в середине процесса рефакторинга и дома поддерживаю многомодульный проект Maven3, и мне нужно переименовать groupId и artifactId некоторых артефактов.

Есть ли способ переименовать как groupId, так и artifactId?
Я знаю, что могу использовать инструмент find-and-replace, например sed, но мне интересно, есть ли mojo, например versions-maven-plugin (например: mvn versions:set -DnewVersion=1.0.3-SNAPSHOT), но для groupId и artifactId.

Ответ 1

На сегодняшний день ответ на ваш вопрос (есть ли способ переименовать и groupId, и artifactId?) Прост: нет, такого плагина для переименования нет.

Я думаю, вы могли бы написать такой плагин Maven, хотя.

Вы можете включить это поле в свой Mojo:

    @Parameter(defaultValue = "${project}", readonly = true)
    @SuppressWarnings("UnusedDeclaration")
    private MavenProject project;

Класс MavenProject содержит методы, которые вы ищете (setArtifactId и т.д.).

Фактически, SetMojo из плагина maven-version-plugin сделает именно это для вас: https://github.com/mojohaus/versions-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/versions/SetMojo.java.

Этот ответ будет обновлен, как только появится такой плагин.

Ответ 2

Простое решение будет использовать текстовую панель или блокнот ++ или другой инструмент, как вы сказали sed, и использовать find в файле и заменить идентификаторы группы и артефактов.