Сохранять имя артефакта maven в maven-install-plugin (default-install)

Я пытаюсь включить хэш коммита git в имя артефакта, чтобы различать Snapshot-Versions в сценарии CI. Хэш git успешно включен в папку target/ моего проекта, но на последнем шаге maven он копирует артефакт в мою папку HOME/.m2/repositories и меняет имя на ARTIFACTID-VERSION-mta.jar.

Как сохранить имя файла в целевой папке / папке, в которую входит хеш коммита?

Я взглянул на maven-install-plugin, но не смог найти свойство "finalName" или что-то вроде этого.

[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ projectname ---
[INFO] Installing PROJECTDIR/pom.xml to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1.pom
[INFO] Installing PROJECTDIR/target/projectname-1.0.1-d054c42-mta.jar to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1-mta.jar

Я хотел бы, чтобы последняя строка была

[INFO] Installing PROJECTDIR/target/projectname-1.0.1-d054c42-mta.jar to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1-d054c42-mta.jar

Управление конечным именем maven jar-артефакта не решает проблему, поскольку изменяет выходную папку.

1 ответ

Это вероятно из-за расположения репозитория.

Определение макета репозитория

Это окончательный макет хранилища, доступного в Maven 2.x и связанных с ним задачах Ant.

Для первичных артефактов: /$groupId[0]/../$ndomgroupId[n]/$artifactId/$version/$artifactId-$version.$extension

Для вторичных артефактов: /$groupId[0]/../$groupId[n]/$artifactId/$version/$artifactId-$version-$classifier.$extension

См. https://cwiki.apache.org/confluence/display/MAVENOLD/Repository+Layout+-+Final

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