Имена JAR-файлов Maven SNAPSHOT не согласуются с использованием сборки Maven в файле МАНИФЕСТА

Вот сценарий:

Две сборки проекта Maven 3.

В сборке 1 есть файлы jar моментальных снимков, которые развертываются в Nexus.

Сборка 2 зависит от моментальных снимков, на которые ссылаются как 1.0.0-SNAPSHOT, которые упаковываются и архивируются с помощью команды mvn clean packageassembly:single.

Проблема, с которой мы столкнулись: Иногда, когда создается сборка, в файле МАНИФЕСТА для jar-файла иногда указывается some.jar.1.0.0-SNAPSHOT, а иногда — some.jar.1.0.0-datetimestamp. , что приводит к ошибкам, когда класс не определен.

Есть ли способ предотвратить эту проблему с именами в файле манифеста?

--edit--

Дальнейшие исследования выявили следующее:

«Если моментальный снимок был разрешен из репозитория, он будет иметь временную метку, если он пришел из реактора или локального репо, то это будет -SNAPSHOT. Плагин вызывает логику разрешения maven, так что это основной maven поведение. «

Это именно та проблема, с которой мы столкнулись. Во втором файле манифеста сборки всегда есть запись ./lib/Framework-1.0.0-SNAPSHOT.jar, где в качестве фактического файла jar имя изменяется между ./lib/Framework-1.0.0-SNAPSHOT.jarи ./lib/Framework-1.0.0-timestamp.jarна основе приведенной выше цитаты.

13
задан Thaldin 10 May 2012 в 16:32
поделиться