Maven: как использовать последнюю версию из зависимостей (не из всех репозиториев) - PullRequest
1 голос
/ 28 июля 2011

Предположим, у меня есть следующие артефакты. Я опущу группы для простоты.

A:1.0
A:2.0
A:3.0
B:1.0 depends on A:1.0
C:1.0 depends on A:2.0
D:1.0 depends on B:1.0, C:1.0

Я хочу, чтобы D использовал последнюю версию A, которая унаследована от его зависимостей (не от репозитория). В данном случае это 2.0.

Как я могу сделать это с Maven 2 или Maven 3?

1 Ответ

2 голосов
/ 28 июля 2011

Обычно maven выбирает версию, ближайшую к корню, в вашем случае maven (2/3) должен автоматически поднять A: 2.0 (поскольку они одинаково далеко)

Другим вариантом будет использование диапазонов версий, например A: [2.0,], но для этого потребуется последняя версия из репозитория. (и он будет включать версии SNAPSHOT, что делает текущий maven3 совершенно непригодным для диапазонов версий)

(IMHO) правильный способ - использовать мастер-помпу с тегом управления зависимостями и объявить, что A: 2.0 следует использовать для всех подпроектов.

...