Я пытаюсь включить хеш-фиксацию git в имя артефакта, чтобы различать моментальные снимки в сценарии CI. git hash успешно включен в целевую/папку моего проекта, но на последнем шаге maven он копирует артефакт в мою папку HOME/.m2/repositories и изменяет имя на ARTIFACTID-VERSION-mta.jar.Хранить имя артефакта maven на maven-install-plugin (по умолчанию-install)
Как сохранить имя файла из целевой/папки, содержащей хеш-код?
Я посмотрел на 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
Controlling maven final name of jar artifact не решает проблему, поскольку она изменяет выходную папку.
Вы не можете сделать это. Имя в локальном репозитории следует за стандартом 'artifacId-version (-classifier) .type', и вы не можете его изменить. См. Http://stackoverflow.com/questions/17024803/version-in-jar-name – Tunaki
Могу ли я установить хеш-коммит как классификатор? –
Вы _could_, но это означает, что его координаты Maven будут меняться каждый раз, когда будет новый коммит, поэтому каждый проект в зависимости от него должен будет изменить объявление '' для каждого commit_. Для этого см. Http://stackoverflow.com/questions/8354201/how-do-i-build-only-one-jar-file-with-classifier. Похоже, вы пытаетесь перестроить механизм SNAPSHOT Maven с нуля. Почему бы не выполнить версию вашего проекта «1.0.1-SNAPSHOT»? –
Tunaki