Mam projekt, który zależy od commons-httpclient [2.0] (kompilacja).Maven 2 - różne wersje zależności w testach i kompilacji
Chciałbym napisać kilka testów jbehave - jbehave-core 3.4.5 (test). Obie zależności zależą od commons-lang, ale w różnych wersjach - 1.0.1 i 2.5.
Kiedy wykonać pakiet mvn otrzymuję [buid AWARIA] w sekcji prób. Istnieje wyjątek dla mojego testcase w wyjściu murowany-plugin:
java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.substringBeforeLast(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
Jak wyglądał w kodzie źródłowym - w świetlicy-lang 1.0.1 - Rzeczywiście, nie ma StringUtils.substringBeforeLast (...) metody . Dlaczego maven używa commons-lang z commons-httpclient (kompilacja), a nie z jbehave-core w testowaniu?
Nie mogę sobie pozwolić na wykluczenie tej zależności powodującej konflikt w commons-httpclient, więc musi pozostać w czasie kompilacji.
Jak można to rozwiązać? - Wersja Commons-Lang 2.5 w testowaniu i 1.0.1 w czasie kompilacji.
To powinno być test nie testów –
Zadziałało! Dzięki. W plugin'u m2eclipse mam '(zoptymalizowany dla konfliktu z 2.5) [compile]' w podkategorii commons-httpclient, ale jest to prawdopodobnie problem m2eclipse – Xeon
To nie działa dla mnie, i nie wiem dlaczego - http: // stackoverflow .pl/questions/9364511/maven-different-dependence-version-in-test –