Почему имя снимка всегда имеет дату в имени файла jar? Как это удалить

Когда я развертываю банку, maven всегда добавляет дату в свое имя файла, это делает репозиторий имени файла отличным от файла в моем локальном файле. Как удалить дату в имени файла?

Спасибо


person zjffdu    schedule 03.08.2011    source источник
comment
Какова ваша цель? Если вы развертываете только тестовые версии, они должны иметь отметку времени. Если вы развертываете готовые копии, вам следует делать выпуск, а не использовать версию SNAPSHOT.   -  person Darien    schedule 03.08.2011


Ответы (1)


О том, почему, потому что, поскольку это пакет SNAPSHOT, каждый раз, когда вы его развертываете, вы де-факто развертываете его новую версию, поэтому добавляется временная метка, чтобы различать их в удаленном репозитории. Когда Maven загружает его, он удаляет временную метку, потому что в вашем локальном репозитории может быть только одна версия, поэтому временная метка бесполезна, если не сбивает с толку.

Его можно удалить, этого сайта используйте параметр -DuniqueVersion=false :

mvn deploy:deploy-file -Durl=file:///C:/m2-repo \
                   -DrepositoryId=some.id \
                   -Dfile=your-artifact-1.0.jar \
                   -DpomFile=your-pom.xml \
                   -DuniqueVersion=false

Однако вам НЕ следует заботиться об именах артефактов, файлах и т. Д. Вы используете maven, ТАК ЧТО вам не нужно о них заботиться.

person Simone Gianni    schedule 03.08.2011
comment
Есть крайние случаи, когда удаление метки времени полезно. Давайте не будем религиозными об этом .. - person ukdavo; 28.01.2012
comment
@ukdavo вы правы, поэтому я разместил ссылку на руководство по maven-deploy .. однако, поскольку Zjffdu говорил о различиях между удаленным и локальным репо, я не думаю, что у него был крайний случай, когда эта функция была запланирована ибо именно поэтому я призвал его переосмыслить свой подход к проблеме. - person Simone Gianni; 01.02.2012
comment
У нас есть нексус, настроенный для прокси-сервера к нексусу, который я публикую моментальные снимки, и временные метки вызывают проблемы с этим, так что для вас есть крайний случай. - person 2rs2ts; 15.10.2014
comment
Крайним случаем, когда имя имеет значение, является явное перечисление JAR-файлов в файле манифеста. Этот сценарий не должен происходить в производственной среде, но он определенно может произойти в любое время, если вы полагаетесь на моментальный снимок. - person Nick A. Watts; 18.09.2018