Mam kilka projektów Maven, z których każdy ma pewną wspólną funkcjonalność lub przynajmniej typową konfigurację/zależności. Wyodrębniłem to do wspólnego pom.xml, a następnie modularyzowałem kilka aspektów, na przykład trwałość, zależności zależne od Spring i tak dalej - wszystkie w swoich modułach, które dziedziczą po tym macierzystym POM.M2E: Wersja jest duplikatem wersji nadrzędnej - Dlaczego jest to ostrzeżenie?
W tej chwili "Common" to wersja 1.0.0, a ja mam "ProjectA", który chcę z niego odziedziczyć. Otrzymuję ostrzeżenie:
wersja jest duplikatem dominującej wersji
nie w pełni zrozumieć, dlaczego jest to ostrzeżenie. Myślałem, że mam opcję pominięcia wersji z mojego projektu POM, aby odziedziczyć wersję. (Robię to dla zwykłych modułów - na przykład, common-spring dodaje dodatkowe wspólne zależności dla aplikacji Spring, a faktycznie ProjectA faktycznie dziedziczy po common-spring.)
Czy to nie tylko to - opcja? Jeśli zmienię wersję ProjectA na 1.0.1 lub 2.0.0, wszystko jest w porządku.
Na co warto, jestem ostrożny, aby tylko dziedziczyć od POMs i I zależą od JARs. Deklaruję właściwość common.version, która jest używana w module dependencyManagement, aby ProjectA mógł odziedziczyć po common-spring (który dziedziczy po wspólnym) i zależy od common-io (który również dziedziczy po wspólnym) i wszystkie są tą samą wersją. –
Czy to jest właśnie to ostrzeżenie wydane przez m2eclipse lub Maven? (Możesz sprawdzić wiersz polecenia za pomocą 'mvn verify' - prawdopodobnie - jeśli Maven emituje coś takiego lub nie). Poza tym byłoby to pomocne, gdybyś mógł opublikować wspomniane pliki' pom.xml'. Trudno jest sobie wyobrazić, co dzieje się w twojej konfiguracji. –
To sprawiedliwe. Zrobię to w środę, ponieważ jestem na wakacjach (nie ma czegoś takiego jak wakacje z SO!). Jestem prawie pewien, że jest to ostrzeżenie m2e. –