У нас есть продукт RCP, основанный на функциях, которые содержат несколько плагинов. Каждый плагин использует манифест пакета OSGi
.добавить папку в classpath в продукт RCP
Один из этих плагинов содержит набор библиотек (Plug-in from Existing JAR Archives
), сделанных третьим лицом.
Теперь проблема. Одна из таких библиотек ищет файл конфигурации следующим образом:
getClass().getClassLoader().getResourceAsStream(filename);
Очевидно, что папка, содержащая файл должен быть добавлен к классам. Поэтому я добавил в манифесте плагина следующее:
Bundle-ClassPath: resources/
и я поместил файл конфигурации там (конечно, есть и другие Bundle-ClassPath:
для банок и resources
это вместе с ними).
Если я тестирую продукт в eclispe, файл найден и все работает, но как только я экспортирую продукт, файл больше не найден (даже если в экспортированный плагин включен каталог resources
).
Я думаю, что мне не хватает свойства OSGI в конфигурации запуска, но я понятия не имею, как решить проблему.