Tredjepartsbiblioteker og -klasseindlæsning
Eftersom OSGi bruger classloadere, kræver den transparente brug af udvidelige/konfigurérbare
tredjepartsbiblioteker i Eclipse, at der bruges en speciel
Eclipse-mekanisme, som kaldes "buddy-indlæsning". Mekanismen tillader et bundt at angive, at det har
brug for hjælp til at indlæse klasser eller ressourcer, når det ikke kan finde dem i sine
forudsætninger. Bemærk, at "udvidelige biblioteker" er biblioteker, som har brug for at se klasser eller
ressourcer, som stilles til rådighed af brugerkode (f.eks.
log4j-logekanisme, dvale,...).
Et bundt skal revidere sit manifest og tilføje følgende toptekst for at angive sit
behov for buddy-indlæsning:
Eclipse-BuddyPolicy: <værdi>
<værdi> refererer til den politik, der bruges til at søge efter klasserne. Følgende politikker
understøttes:
- registered - Angiver, at buddy-mekanismen spørger de bundter, der er registreret
for den. Bundter, der vil registreres til et bestemt bundt, tilføjer følgende i deres
manifest: "Eclipse-RegisterBuddy: <symbolsk_bundtnavn>".
- dependent - Angiver, at der søges transitivt efter klasserne/ressourcerne i alle
bundtets afhængige.
- global - Angiver, at der søges efter klasserne/ressourcerne i den globale pulje af
eksporterede pakker.
- app - Angiver, at program-classloaderen vil blive spurgt.
- ext - Angiver, at extension-classloaderen vil blive spurgt.
- boot - Angiver, at boot-classloaderen vil blive spurgt.