Mam 2 projekty korzystające z Maven. Pierwszy to biblioteka zawierająca klasy i metody użytkowe. Drugi projekt jest rzeczywistą aplikacją, która ma bibliotekę jako zależność. Moja biblioteka używa wewnętrznie biblioteki innej firmy.Ograniczanie przechodniego zależności do zakresu czasu działania w Maven
Więc to są zależnościami:
- Moja biblioteka: zależy od biblioteki trzeciej
- mój wniosek: zależy od mojej bibliotece
Jednak nie chcę biblioteki klas firm trzecich dostępne w czasie kompilacji w mojej aplikacji. Jest tak dlatego, że aplikacja jest obsługiwana przez duży zespół i chcę zapobiec przypadkowemu użyciu metod z zewnętrznej biblioteki w aplikacji, ponieważ niektóre nazwy klas i niektóre nazwy metod są podobne między tymi dwoma. Oczywiście trzecia biblioteka będzie musiała być dostępna w mojej aplikacji pod adresem runtime.
Jeśli zakres dla wszystkich moich zależności byłby skompilować, nie osiągnąłby mojego celu. Czy jest sposób na osiągnięcie tego w Maven 3?
Miałem nadzieję, istnieje sposób, aby to zrobić . Dzięki za twoją odpowiedź, Michał. – Juanal
To zostało udzielone lata temu. Czy jest jakiś sposób, aby to zrobić teraz? Zastanawiam się, czy mógłbyś w jakiś sposób użyć zakresu 'import' do zhackowania rozwiązania tutaj? –
Nie sądzę, żeby tutaj coś się zmieniło. Jak powiedziałem w 2012 roku, jest to bardzo fundamentalny projekt Mavena. Wierzę, że nie ma teraz możliwości, aby to zmienić, ponieważ tak właśnie Maven robi rzeczy od samego początku. –