Во время разработки в OSGi я натолкнулся на следующее препятствие. Один набор пакетов, отвечающий за постоянство, использует класс com.mysql.jdbc.Driver
, предлагаемый другим (предоставленным Springsource EBR) пакетом. В другом комплекте я настраиваю библиотеку планировщика Quartz для использования базы данных в качестве хранилища заданий. Это также делается с помощью драйвера MySQL. После запуска я получаю ClassNotFoundException
. Это странно, поскольку постоянство по-прежнему работает правильно. Еще более странно, когда я пытаюсь загрузить класс вручную, используя Class.forName("com.mysql.jdbc.Driver")
, он загружается правильно, подразумевая, что класс действительно доступен для загрузки.
Совпадение или нет, похоже, то же самое происходит и с Drools ... Я переупаковал некоторые из последних Jrools-контейнеров в пакеты OSGi, развернул их и при повторном запуске выскакивает ClassNotFoundException
. В обоих случаях все пакеты поставщиков добавляются к обязательным пакетам в манифесте.
Этот странный вопрос звонит в какие-нибудь колокола? Я был бы рад услышать об этом ...