Использование 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 вашего проекта.

Другие вопросы по тегам