Вот мой текущий вопрос о том, как Maven управляет зависимостями.Maven snapshot «lifecycle»
Когда зависимость активно работает над Maven придает «-SNAPSHOT» до конца версии. ex) 1.1.1-SNAPSHOT. Эти снимки загружаются в удаленный репозиторий, который специально отвечает за моментальные снимки. В том же удаленном репозитории имеется раздел для выпущенных версий пакетов. Теперь, когда проект обновляет зависимости, Maven вытаскивает самую последнюю версию пакета в локальный репозиторий. ТОЛЬКО SNAPSHOTS обновляются в зависимости от отметки времени на снимке. Если Maven вытащит версию выпуска (например: 1.1.0), она не будет искать другой пакет с текущей версией.
Теперь мои вопросы:
- Какие недостатки в моем понимании? Мне не хватает концептуального произведения?
- Когда пакет переходит из SNAPSHOT в версию выпуска, как обновить pom.xml, чтобы отразить выпущенную версию пакета? Это ручной процесс?
- Наконец, если пакет выпущен, мы будем использовать пример сверху, будет выпущен 1.1.1. Создается ли 1.1.2-SNAPSHOT или 1.2.0-SNAPSHOT, и является ли эта версия обновленной в помпе?
Что о зависимостях сторонних? Будет ли когда-нибудь СНАПРОТЬ этих, или это всегда будет выпущенная версия? Во-вторых, все, что недоразвито, будет иметь SNAPSHOTS, только когда отрасль будет создана, SNAPSHOTS станут версиями релиза. Как разработчик, который всегда работает на основной ветке, я обычно никогда не видел выпущенные версии своих собственных .jars в моем пом? – heater
Обычно вы работаете с освобожденными (стабильными) зависимостями третьей стороны. Но если вы работаете с Nokia при интеграции какой-либо новой службы, возможно, у вас есть зависимости моментальных снимков. Но обычно зависимости от моментальных снимков не выводятся из интрасети компании. –