Использование MySQL JDBC в рамках OSGi
У меня огромная проблема с подключением к базе данных в моем приложении OSGi. Я искал 3 дня и не мог найти хорошее решение. Просто не работает и старые вещи. Я использую Bndtools для создания своих Бандлов.
Может кто-нибудь помочь мне, я очень отчаялся.
Спасибо
1 ответ
Наиболее вероятной причиной этой ошибки является то, что пакет используемого класса отсутствует в директиве Import-package пакета manifest.mf.
В среде OSGi каждый пакет имеет свой собственный загрузчик классов. Таким образом, каждый класс будет загружен только один раз в течение жизненного цикла приложения. Всякий раз, когда класс используется за пределами пакета, пакет, в котором находится класс, должен присутствовать в атрибуте Export-package его manifest.mf его jar-файла. Любой клиентский пакет, для которого требуется этот пакет / класс, должен добавить запись в свой атрибут Import-package своего файла manifest.mf.
Если вы используете maven, вы можете использовать maven-bundle-plugin. Этот плагин позаботится о создании соответствующих заголовков импорта и экспорта манифеста путем сканирования зависимостей, присутствующих в pom.xml вашего проекта.