Сохранять имя артефакта 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