Jak wyrażać zależności między projektami w środowisku Eclipse PDE

Szukam najlepszej praktyki obsługi zależności między projektami między mieszanymi typami projektów, gdzie niektóre projekty to projekty wtyczek eclipse / OSGI (aplikacja RCP), a inne to tylko zwykłe stare projekty java (moduły usług sieciowych). Niewiele wtyczek eclipse ma zależności od projektów Java.

Moim problemem jest to, że przynajmniej tak dalece, jak się spodziewałem, nie ma możliwości czystego wyrażenia takiej zależności w środowisku PDE Eclipse. Mogę mieć projekty wtyczek zależne od innych projektów wtyczek (przezImport-Package lubRequire-Bundle manifest nagłówków), ale nie zwykłych projektów java.

Wydaje mi się, że projekt może zadeklarować zależność od słoika z innego projektu w obszarze roboczym, ale te pliki jar nie są wychwytywane ani przez konfigurację eksportu, ani przez uruchomienie (chociaż edytowanie kodu Java widzi biblioteki w porządku).

„Projekty Java” są używane do budowania usług, które mają być wdrożone na kontenerze J2EE (na chwilę obecną JBoss 4.2.2) i do produkcji wielu słoików - jednego do wdrożenia do ucha JBoss, a drugiego do użycia przez kod klienta ( Aplikacja RCP).

Sposób, w jaki „rozwiązaliśmy” ten problem, polega na tym, że mamy jeszcze dwie konfiguracje zewnętrznych narzędzi do uruchamiania narzędzi - jedną do budowania wszystkich słoików, a drugą do kopiowania tych słoików do projektów wtyczek. Działa to (w pewnym sensie), ale cele „cała kompilacja” i „kopia słoików” powodują dość duży krok kompilacji, pomijając całą funkcję przyrostowej kompilacji zaćmień i kopiując słoiki zamiast odwoływać się do projektów, rozłączam informacje o zależnościach i zażądanie całkiem masywnego odświeżenia przestrzeni roboczej, która zjada czas programowania, jak to było słodycze.

Chciałbym mieć znacznie bardziej „naturalną” konfigurację przestrzeni roboczej, która zarządzałaby zależnościami między projektami i żądała odbudowy przyrostowej tylko wtedy, gdy są potrzebne, móc używać kodu klienta z bibliotek usług w wtyczkach aplikacji RCP i być w stanie uruchomić aplikację RCP ze wszystkimi niezbędnymi klasami, w których są potrzebne.

Czy mogę więc zjeść ciastko i je też;)

UWAGA

Jasne jest, że w tej chwili nie chodzi o zarządzanie zależnością i zarządzanie modułami, ale o konfigurację środowiska PDE Eclipse.

Doskonale zdaję sobie sprawę z produktów takich jak [Maven], [Ivy] i [Buckminster] i rozwiązują całkiem inny problem (po rozwiązaniu problemu z konfiguracją obszaru roboczego produkty te mogą się przydać do materializacji obszaru roboczego i budowania produkt)

questionAnswers(8)

yourAnswerToTheQuestion