Można tego użyć podczas kierowania na różne serwery internetowe. Na przykład podczas budowania dla serwera JavaEE 5, który oferuje biblioteki, takie jak JAXB, których nie należy umieszczać w pliku wojennym, w przeciwieństwie do budowania dla serwera JavaEE 1.4, w którym należy dołączyć plik jar JAXB.
Element profilu zawiera zarówno opcjonalną aktywację (wyzwalacz profilu), jak i zestaw zmian, które należy wprowadzić w POM, jeśli ten profil został aktywowany. Na przykład projekt utworzony dla środowiska testowego może wskazywać na inną bazę danych niż ta z końcowego wdrożenia. Lub zależności mogą być pobierane z różnych repozytoriów w zależności od używanej wersji JDK .
(Podkreślenie jest moje)
Po prostu umieść zależność dla releaseprofilu w samej deklaracji profilu i zrób to samo dla debug.
Ta metoda spowoduje nierozwiązanie kodu w trybie edycji. Jeśli debugowanie jest aktywne, będzie brakować jar zależności wydania, a kod będzie zawierał błąd. Jak to rozwiązać?
w hierarchii zależności można ustawić zakres zależności konkretnego wydania jako „dostarczony” i zresetować zakres na „kompiluj” w sekcji profilu wersji. Aby zależność była dostępna dla kompilacji, ale nie w ostatecznej wojnie o profil „debugowania”.
Profile IMHO są bezużyteczne, przynajmniej dla zależności: IDE generują błędy, zależności przestają być rozwiązywane, aplikacje w końcu nie działają. Spodziewałem się więcej.
Twój groupId, artifactId powinien być tokenizowany w twoich profilach jako właściwości i możesz przenieść swoje zależności do sekcji ogólnej.
2
Dzieje się tak tylko wtedy, gdy masz 1 zależność. Jeśli liczba zależności różni się między debugowaniem a wydaniem, po prostu tokenizacja nie zadziała. W związku z tym radziłbym nie tokenizować i wyraźnie definiować deps w sekcji profilu.
Druga odpowiedź nie zadziałała dla mnie, ponieważ domyślne zależności profilu były nadal uwzględniane wraz z innymi określonymi zależnościami profilu. Twoja odpowiedź zadziałała dobrze.
@Vlad Czy usunąłeś zależność z głównej części POM? W przeciwnym razie będziesz mieć to dwa razy. (Zobacz stackoverflow.com/q/24855678/6944068, aby dowiedzieć się, jak upewnić się, że jeden profil jest zawsze aktywny.)
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.