Библиотеки и загрузчики классов других фирм
Поскольку в OSGi применяется несколько загрузчиков классов, прозрачное применение в Eclipse расширяемых/настраиваемых библиотек от других фирм требует использования особого механизма, который называется "загрузка друзей". Этот механизм позволяет комплекту указать, что ему нужна помощь в загрузке классов или ресурсов, когда ему не удается найти их среди своих предварительных параметров. Обратите внимание, что "расширяемыми библиотеками" называются библиотеки, которым необходимо видеть классы или ресурсы, поставляемые пользовательским кодом (например, механизм средства ведения протоколов log4j, спящий режим,...) .
Для того чтобы указать необходимость загрузки друзей, комплекту нужно изменить свой манифест и добавить следующий заголовок:
Eclipse-BuddyPolicy: <значение>
<значение> относится к политике, применяемой для просмотра классов. Ниже приведены поддерживаемые политики:
- registered - указывает, что дружеский механизм будет обращаться к комплектам, которые его зарегистрировали. Для того чтобы один комплект мог зарегистрироваться в другом, ему нужно добавить в свой манифест: "Eclipse-RegisterBuddy: <символьное-имя-комплекта>";
- dependent - указывает, что классы/ресурсы будут просматриваться транзитивно во всех зависимых элементах комплекта;
- global - указывает, что все классы/ресурсы будут просматриваться в глобальном пуле экспортированного пакета;
- app - указывает, что механизм обратится к загрузчику классов приложения;
- ext - указывает, что механизм обратится к загрузчику классов расширения;
- boot - указывает, что механизм обратится к загрузочному загрузчику классов.